/* /Components/Chat/AiChatBox.razor.rz.scp.css */
/* ============================================
   AiChatBox - Soft UI Theme
   Based on ai-assistant-mockup.html
   ============================================ */

/* Chat widget container */
.ai-widget[b-bldazc8te8] {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

/* ============================================
   Header
   ============================================ */
.ai-header[b-bldazc8te8] {
    background: linear-gradient(135deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-lighten) 50%, #9B8FFF 100%);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    cursor: move;
    user-select: none;
}

.ai-header[b-bldazc8te8]::before {
    content: '';
    position: absolute;
    top: -30px;
    right: -20px;
    width: 120px;
    height: 120px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 50%;
}

.ai-header[b-bldazc8te8]::after {
    content: '';
    position: absolute;
    bottom: -40px;
    left: 30%;
    width: 80px;
    height: 80px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 50%;
}

.ai-header-left[b-bldazc8te8] {
    display: flex;
    align-items: center;
    gap: 12px;
    z-index: 1;
}

.ai-avatar[b-bldazc8te8] {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.ai-avatar .mud-icon-root[b-bldazc8te8] {
    font-size: 20px !important;
}

.ai-title[b-bldazc8te8] {
    color: white;
    font-weight: 600;
    font-size: 15px;
}

.ai-status[b-bldazc8te8] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.ai-status-dot[b-bldazc8te8] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #6EE7B7;
    box-shadow: 0 0 6px rgba(110, 231, 183, 0.5);
}

.ai-status-dot.processing[b-bldazc8te8] {
    background: #F59E0B;
    box-shadow: 0 0 6px rgba(245, 158, 11, 0.5);
}

.ai-status-label[b-bldazc8te8] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    font-weight: 400;
}

.ai-header-actions[b-bldazc8te8] {
    display: flex;
    gap: 2px;
    z-index: 1;
}

.ai-header-btn[b-bldazc8te8] {
    width: 32px;
    height: 32px;
    border: none;
    background: rgba(255, 255, 255, 0.12);
    color: white;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    padding: 0;
}

.ai-header-btn:hover[b-bldazc8te8] {
    background: rgba(255, 255, 255, 0.22);
}

.ai-header-btn .mud-icon-root[b-bldazc8te8] {
    font-size: 18px !important;
    color: white;
}

/* ============================================
   Messages area
   ============================================ */
.ai-messages[b-bldazc8te8] {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: var(--mud-palette-background);
    min-height: 300px;
    max-height: 400px;
}

/* Message row */
.ai-msg[b-bldazc8te8] {
    display: flex;
    gap: 10px;
    max-width: 88%;
}

.ai-msg.ai-msg-user[b-bldazc8te8] {
    align-self: flex-end;
    flex-direction: row-reverse;
}

/* Message avatar (bot only) */
.ai-msg-avatar[b-bldazc8te8] {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--mud-palette-primary-rgb), 0.06);
    color: var(--mud-palette-primary);
}

.ai-msg-avatar .mud-icon-root[b-bldazc8te8] {
    font-size: 16px !important;
}

/* Message bubble */
.ai-msg-bubble[b-bldazc8te8] {
    padding: 12px 16px;
    font-size: 13.5px;
    line-height: 1.55;
    white-space: pre-wrap;
}

.ai-msg-bot .ai-msg-bubble[b-bldazc8te8] {
    background: var(--mud-palette-surface);
    border-radius: 4px 16px 16px 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    color: var(--mud-palette-text-primary);
}

.ai-msg-user .ai-msg-bubble[b-bldazc8te8] {
    background: var(--mud-palette-primary);
    color: white;
    border-radius: 16px 4px 16px 16px;
}

/* Action pills */
.ai-msg-actions[b-bldazc8te8] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.ai-action-pill[b-bldazc8te8] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 100px;
    background: rgba(var(--mud-palette-primary-rgb), 0.06);
    color: var(--mud-palette-primary);
    font-size: 11px;
    font-weight: 500;
}

.ai-action-pill .mud-icon-root[b-bldazc8te8] {
    font-size: 13px !important;
}

/* ============================================
   Typing indicator
   ============================================ */
.ai-typing[b-bldazc8te8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 4px;
}

.ai-typing-dots[b-bldazc8te8] {
    display: flex;
    gap: 4px;
}

.ai-typing-dots span[b-bldazc8te8] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--mud-palette-primary-lighten);
    opacity: 0.4;
    animation: aiTypingBounce-b-bldazc8te8 1.4s infinite ease-in-out;
}

.ai-typing-dots span:nth-child(2)[b-bldazc8te8] {
    animation-delay: 0.2s;
}

.ai-typing-dots span:nth-child(3)[b-bldazc8te8] {
    animation-delay: 0.4s;
}

@keyframes aiTypingBounce-b-bldazc8te8 {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: 0.4;
    }
    40% {
        transform: translateY(-4px);
        opacity: 1;
    }
}

.ai-typing-label[b-bldazc8te8] {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    font-weight: 500;
}

/* ============================================
   Empty state
   ============================================ */
.ai-empty[b-bldazc8te8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    text-align: center;
    gap: 16px;
    height: 100%;
}

.ai-empty-icon[b-bldazc8te8] {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    background: rgba(var(--mud-palette-primary-rgb), 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ai-empty-icon .mud-icon-root[b-bldazc8te8] {
    font-size: 32px !important;
    color: var(--mud-palette-primary);
}

.ai-empty-title[b-bldazc8te8] {
    font-size: 16px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.ai-empty-desc[b-bldazc8te8] {
    font-size: 13px;
    color: var(--mud-palette-text-secondary);
    line-height: 1.5;
    max-width: 260px;
}

/* ============================================
   Suggestion chips
   ============================================ */
.ai-suggestions[b-bldazc8te8] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 20px 4px;
    background: var(--mud-palette-background);
}

.ai-suggestion-chip[b-bldazc8te8] {
    padding: 7px 14px;
    border-radius: 100px;
    background: var(--mud-palette-surface);
    border: 1.5px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    font-family: inherit;
}

.ai-suggestion-chip:hover[b-bldazc8te8] {
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary);
    background: rgba(var(--mud-palette-primary-rgb), 0.06);
    transform: translateY(-1px);
}

/* ============================================
   Input area
   ============================================ */
.ai-input-area[b-bldazc8te8] {
    padding: 14px 16px;
    background: var(--mud-palette-surface);
    border-top: 1px solid var(--mud-palette-lines-default);
    display: flex;
    align-items: center;
    gap: 10px;
}

.ai-input-field[b-bldazc8te8] {
    flex: 1;
    border: 1.5px solid var(--mud-palette-lines-default);
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 13.5px;
    font-family: inherit;
    color: var(--mud-palette-text-primary);
    outline: none;
    transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    background: var(--mud-palette-background);
}

.ai-input-field[b-bldazc8te8]::placeholder {
    color: var(--mud-palette-text-secondary);
}

.ai-input-field:focus[b-bldazc8te8] {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 3px rgba(var(--mud-palette-primary-rgb), 0.10);
    background: var(--mud-palette-surface);
}

.ai-input-field:disabled[b-bldazc8te8] {
    opacity: 0.6;
    cursor: not-allowed;
}

.ai-send-btn[b-bldazc8te8] {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: none;
    background: var(--mud-palette-primary);
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 2px 8px rgba(var(--mud-palette-primary-rgb), 0.25);
    flex-shrink: 0;
    padding: 0;
}

.ai-send-btn:hover:not(:disabled)[b-bldazc8te8] {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(var(--mud-palette-primary-rgb), 0.35);
}

.ai-send-btn:disabled[b-bldazc8te8] {
    opacity: 0.5;
    cursor: not-allowed;
}

.ai-send-btn .mud-icon-root[b-bldazc8te8] {
    font-size: 20px !important;
    color: white;
}

/* ============================================
   FAB (minimized state)
   ============================================ */
.ai-fab[b-bldazc8te8] {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--mud-palette-primary) 0%, var(--mud-palette-primary-lighten) 50%, #9B8FFF 100%);
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 24px rgba(var(--mud-palette-primary-rgb), 0.35);
    transition: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 9999;
    padding: 0;
}

.ai-fab:hover[b-bldazc8te8] {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 10px 32px rgba(var(--mud-palette-primary-rgb), 0.4);
}

.ai-fab .mud-icon-root[b-bldazc8te8] {
    font-size: 26px !important;
    color: white;
}

.ai-fab-badge[b-bldazc8te8] {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #EF4444;
    border: 2.5px solid var(--mud-palette-background);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 700;
    color: white;
    padding: 0 2px;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-qc5e0jvjwl] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-qc5e0jvjwl] {
    flex: 1;
}

.sidebar[b-qc5e0jvjwl] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-qc5e0jvjwl] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-qc5e0jvjwl]  a, .top-row[b-qc5e0jvjwl]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-qc5e0jvjwl]  a:hover, .top-row[b-qc5e0jvjwl]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-qc5e0jvjwl]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-qc5e0jvjwl] {
        justify-content: space-between;
    }

    .top-row[b-qc5e0jvjwl]  a, .top-row[b-qc5e0jvjwl]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-qc5e0jvjwl] {
        flex-direction: row;
    }

    .sidebar[b-qc5e0jvjwl] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-qc5e0jvjwl] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-qc5e0jvjwl]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-qc5e0jvjwl], article[b-qc5e0jvjwl] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ztvuzi10r2] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-ztvuzi10r2] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ztvuzi10r2] {
    font-size: 1.1rem;
}

.bi[b-ztvuzi10r2] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ztvuzi10r2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ztvuzi10r2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ztvuzi10r2] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-ztvuzi10r2] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ztvuzi10r2] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ztvuzi10r2] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ztvuzi10r2]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-ztvuzi10r2]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ztvuzi10r2]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ztvuzi10r2] {
        display: none;
    }

    .collapse[b-ztvuzi10r2] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-ztvuzi10r2] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/Appointments/Components/AppointmentDetailsCard.razor.rz.scp.css */
.det-row[b-00wvi5ez3h] {
    padding: 10px 0;
}

.det-row + .det-row[b-00wvi5ez3h] {
    border-top: 1px solid var(--mud-palette-lines-default);
}

.det-label[b-00wvi5ez3h] {
    margin-bottom: 2px;
}
/* /Pages/Appointments/Components/AppointmentLifecycleCard.razor.rz.scp.css */
.lifecycle-stepper[b-p2lcldbi4b] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    padding: 8px 0;
    overflow-x: auto;
}

.lifecycle-step[b-p2lcldbi4b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 72px;
    flex-shrink: 0;
}

.lifecycle-dot[b-p2lcldbi4b] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--mud-palette-lines-default);
    background-color: var(--mud-palette-surface);
    transition: all 0.2s ease;
}

.lifecycle-step.reached .lifecycle-dot[b-p2lcldbi4b] {
    border-color: transparent;
}

.lifecycle-step.current .lifecycle-dot[b-p2lcldbi4b] {
    box-shadow: 0 0 0 4px rgba(var(--mud-palette-primary-rgb), 0.2);
}

.lifecycle-label[b-p2lcldbi4b] {
    margin-top: 6px;
    text-align: center;
    line-height: 1.2;
    max-width: 80px;
}

.lifecycle-time[b-p2lcldbi4b] {
    margin-top: 2px;
    text-align: center;
    font-size: 0.7rem;
}

/* Connector */
.lifecycle-connector[b-p2lcldbi4b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 40px;
    flex: 1;
    max-width: 100px;
    padding-top: 18px; /* center line with dots */
}

.lifecycle-connector-line[b-p2lcldbi4b] {
    width: 100%;
    height: 2px;
    background-color: var(--mud-palette-lines-default);
    transition: background-color 0.2s ease;
}

.lifecycle-connector.reached .lifecycle-connector-line[b-p2lcldbi4b] {
    background-color: var(--mud-palette-text-secondary);
}

.lifecycle-duration-pill[b-p2lcldbi4b] {
    margin-top: 4px;
    font-size: 0.65rem !important;
    height: 20px !important;
}

/* Terminal steps (Cancelled / NoShow) */
.lifecycle-step.terminal .lifecycle-dot[b-p2lcldbi4b] {
    border-style: solid;
}

/* Responsive: compact on mobile */
@media (max-width: 600px) {
    .lifecycle-stepper[b-p2lcldbi4b] {
        padding: 4px 0;
    }

    .lifecycle-step[b-p2lcldbi4b] {
        min-width: 56px;
    }

    .lifecycle-dot[b-p2lcldbi4b] {
        width: 32px;
        height: 32px;
    }

    .lifecycle-connector[b-p2lcldbi4b] {
        min-width: 24px;
        padding-top: 14px;
    }

    .lifecycle-label[b-p2lcldbi4b] {
        font-size: 0.65rem;
        max-width: 64px;
    }
}
/* /Pages/Calendar/Calendar.razor.rz.scp.css */
/* ═══════════════════════════════════════════
   Calendar — Custom Calendar Styles
   ═══════════════════════════════════════════ */

/* ── Container ── */
.cal2-container[b-jwp3prgtva] {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 64px - 24px - 24px); /* appbar + mt-4 + mb-4 */
    min-height: 500px;
    background: var(--mud-palette-surface);
    border-radius: var(--mud-default-borderradius);
    box-shadow: var(--mud-elevation-2);
    overflow: hidden;
    outline: none;
}

/* ── Toolbar ── */
.cal2-toolbar[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    gap: 8px;
    flex-wrap: wrap;
}

.cal2-toolbar-left[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cal2-nav-btn[b-jwp3prgtva] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--mud-palette-divider);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--mud-palette-text-secondary);
    transition: all 0.15s ease;
    padding: 0;
}

.cal2-nav-btn:hover[b-jwp3prgtva] {
    background: var(--mud-palette-background-gray);
    color: var(--mud-palette-text-primary);
}

.cal2-btn-today[b-jwp3prgtva] {
    height: 32px;
    padding: 0 14px;
    border-radius: 20px;
    border: 1px solid var(--mud-palette-divider);
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s ease;
}

.cal2-btn-today:hover[b-jwp3prgtva] {
    background: var(--mud-palette-background-gray);
    color: var(--mud-palette-text-primary);
}

.cal2-toolbar-center[b-jwp3prgtva] {
    font-size: 16px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
}

.cal2-toolbar-right[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.cal2-view-group[b-jwp3prgtva] {
    display: flex;
}

.cal2-view-btn[b-jwp3prgtva] {
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 500;
    border: 1px solid var(--mud-palette-divider);
    background: transparent;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s ease;
}

.cal2-view-btn:first-child[b-jwp3prgtva] {
    border-radius: 20px 0 0 20px;
}

.cal2-view-btn:last-child[b-jwp3prgtva] {
    border-radius: 0 20px 20px 0;
}

.cal2-view-btn:not(:first-child)[b-jwp3prgtva] {
    margin-left: -1px;
}

.cal2-view-btn:hover:not(.active)[b-jwp3prgtva] {
    background: var(--mud-palette-background-gray);
    color: var(--mud-palette-text-primary);
}

.cal2-view-btn.active[b-jwp3prgtva] {
    background: var(--mud-palette-primary);
    color: white;
    border-color: var(--mud-palette-primary);
    z-index: 1;
}

/* ── Filter button (in toolbar) ── */
.cal2-filter-anchor[b-jwp3prgtva] {
    position: relative;
    display: inline-flex;
}

.cal2-filter-btn[b-jwp3prgtva] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    height: 32px;
    border-radius: 20px;
    border: 1px solid var(--mud-palette-divider);
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s ease;
}

.cal2-filter-btn:hover[b-jwp3prgtva] {
    background: var(--mud-palette-background-gray);
}

.cal2-filter-btn.has-filters[b-jwp3prgtva] {
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary);
}

.cal2-filter-badge[b-jwp3prgtva] {
    background: var(--mud-palette-primary);
    color: white;
    font-size: 10px;
    font-weight: 600;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* ── Filter dropdown ── */
.cal2-overlay-transparent[b-jwp3prgtva] {
    background: transparent;
}

.cal2-filter-dropdown[b-jwp3prgtva] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: var(--mud-palette-surface);
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    padding: 12px;
    width: 260px;
    z-index: 1300;
}

.cal2-dd-section-title[b-jwp3prgtva] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 8px;
}

.cal2-dd-item[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s;
    font-size: 13px;
    color: var(--mud-palette-text-primary);
    opacity: 0.55;
}

.cal2-dd-item:hover[b-jwp3prgtva] {
    background: var(--mud-palette-background-gray);
}

.cal2-dd-item.active[b-jwp3prgtva] {
    opacity: 1;
}

.cal2-dd-dot[b-jwp3prgtva] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cal2-dd-item[b-jwp3prgtva]  .cal2-dd-check {
    margin-left: auto;
    color: var(--mud-palette-primary);
    opacity: 0;
    transition: opacity 0.15s;
}

.cal2-dd-item.active[b-jwp3prgtva]  .cal2-dd-check {
    opacity: 1;
}

.cal2-dd-divider[b-jwp3prgtva] {
    height: 1px;
    background: var(--mud-palette-divider);
    margin: 8px 0;
}

.cal2-dd-cancelled.active[b-jwp3prgtva] {
    color: #e91e63;
}

.cal2-dd-cancelled.active[b-jwp3prgtva]  .cal2-dd-check {
    color: #e91e63;
}

.cal2-dd-option.active[b-jwp3prgtva] {
    color: var(--mud-palette-primary);
}

.cal2-dd-option.active[b-jwp3prgtva]  .cal2-dd-check {
    color: var(--mud-palette-primary);
}

/* ── Active filter tags row ── */
.cal2-filter-tags[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    flex-wrap: wrap;
    animation: cal2-tagsSlideIn-b-jwp3prgtva 0.2s ease-out;
}

@keyframes cal2-tagsSlideIn-b-jwp3prgtva {
    from { opacity: 0; max-height: 0; padding-top: 0; padding-bottom: 0; }
    to { opacity: 1; max-height: 200px; padding-top: 6px; padding-bottom: 6px; }
}

.cal2-filter-tag[b-jwp3prgtva] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 8px;
    height: 26px;
    border-radius: 13px;
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    transition: filter 0.15s;
    white-space: nowrap;
}

.cal2-filter-tag:hover[b-jwp3prgtva] {
    filter: brightness(0.92);
}

.cal2-filter-tag-dot[b-jwp3prgtva] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cal2-filter-tag[b-jwp3prgtva]  .cal2-filter-tag-remove {
    font-size: 14px;
    margin-left: -2px;
    opacity: 0.5;
    transition: opacity 0.15s;
}

.cal2-filter-tag:hover[b-jwp3prgtva]  .cal2-filter-tag-remove {
    opacity: 1;
}

.cal2-filter-tag-emp[b-jwp3prgtva] {
    background: color-mix(in srgb, var(--chip-color) 12%, transparent);
    color: var(--chip-color);
}

.cal2-filter-tag-cancelled[b-jwp3prgtva] {
    background: rgba(233, 30, 99, 0.06);
    color: #e91e63;
}

.cal2-filter-tag-option[b-jwp3prgtva] {
    background: rgba(var(--mud-palette-primary-rgb), 0.08);
    color: var(--mud-palette-primary);
}

.cal2-filter-clear[b-jwp3prgtva] {
    font-size: 11px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
    text-decoration: underline;
    transition: color 0.15s;
    white-space: nowrap;
    margin-left: auto;
}

.cal2-filter-clear:hover[b-jwp3prgtva] {
    color: var(--mud-palette-primary);
}

/* ── Progress ── */
.cal2-progress[b-jwp3prgtva] {
    flex-shrink: 0;
}

/* ── Body ── */
.cal2-body[b-jwp3prgtva] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: cal2-fadeIn-b-jwp3prgtva 0.2s ease-out;
}

@keyframes cal2-fadeIn-b-jwp3prgtva {
    from { opacity: 0.6; }
    to { opacity: 1; }
}


/* ═══════════════════════════════
   MONTH VIEW
   ═══════════════════════════════ */

.cal2-month[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.cal2-month-header[b-jwp3prgtva] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
}

.cal2-month-header-cell[b-jwp3prgtva] {
    padding: 8px 4px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cal2-month-grid[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
}

.cal2-month-row[b-jwp3prgtva] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    flex: 1;
    min-height: 100px;
}

.cal2-month-cell[b-jwp3prgtva] {
    border-right: 1px solid var(--mud-palette-divider);
    border-bottom: 1px solid var(--mud-palette-divider);
    padding: 2px;
    cursor: pointer;
    transition: background-color 0.15s;
    overflow: hidden;
}

.cal2-month-cell:last-child[b-jwp3prgtva] {
    border-right: none;
}

.cal2-month-cell:hover[b-jwp3prgtva] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.05) !important;
}

.cal2-month-cell.other-month[b-jwp3prgtva] {
    opacity: 0.4;
}

.cal2-month-cell.today[b-jwp3prgtva] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.04);
}

.cal2-month-cell-header[b-jwp3prgtva] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 2px 4px;
    gap: 4px;
}

.cal2-month-day[b-jwp3prgtva] {
    font-size: 13px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.cal2-month-day.today-badge[b-jwp3prgtva] {
    background-color: var(--mud-palette-primary);
    color: white;
    font-weight: 700;
}

.cal2-month-cell-items[b-jwp3prgtva] {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.cal2-month-item[b-jwp3prgtva] {
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: filter 0.15s ease, box-shadow 0.15s ease;
    position: relative;
    z-index: 1;
}

.cal2-month-item:hover[b-jwp3prgtva] {
    filter: brightness(0.85);
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    z-index: 2;
}

.cal2-month-more[b-jwp3prgtva] {
    font-size: 11px;
    padding: 3px 6px;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    color: var(--mud-palette-primary);
    font-weight: 500;
    transition: background-color 0.15s;
}

.cal2-month-more:hover[b-jwp3prgtva] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.12);
}


/* ═══════════════════════════════
   WEEK VIEW
   ═══════════════════════════════ */

.cal2-week[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.cal2-week-header[b-jwp3prgtva] {
    display: flex;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    padding-right: var(--scrollbar-w, 0px);
}

.cal2-week-header-cell[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 4px 6px;
    gap: 2px;
}

.cal2-week-header-cell.today[b-jwp3prgtva] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.04);
}

.cal2-week-day-name[b-jwp3prgtva] {
    font-size: 11px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cal2-week-day-num[b-jwp3prgtva] {
    font-size: 22px;
    font-weight: 300;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.cal2-week-day-num.today-badge[b-jwp3prgtva] {
    background-color: var(--mud-palette-primary);
    color: white;
    font-weight: 600;
}


/* ── All-day row ── */
.cal2-allday-row[b-jwp3prgtva] {
    display: flex;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    min-height: 28px;
    padding-right: var(--scrollbar-w, 0px);
}

.cal2-allday-cell[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 2px;
    border-left: 1px solid var(--mud-palette-divider);
}

.cal2-allday-item[b-jwp3prgtva] {
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: filter 0.15s, box-shadow 0.15s;
}

.cal2-allday-item:hover[b-jwp3prgtva] {
    filter: brightness(0.92);
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}


/* ── Time grid (shared week/day) ── */
.cal2-time-grid[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    overflow-y: auto;
    min-height: 0;
}

.cal2-time-gutter[b-jwp3prgtva] {
    width: 52px;
    flex-shrink: 0;
    position: relative;
}

.cal2-time-gutter-header[b-jwp3prgtva] {
    width: 52px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cal2-time-label[b-jwp3prgtva] {
    height: 60px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-right: 8px;
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
    transform: translateY(-7px);
}

.cal2-time-columns[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    position: relative;
}

.cal2-time-column[b-jwp3prgtva] {
    flex: 1;
    position: relative;
    height: calc(24 * 60px);
    border-left: 1px solid var(--mud-palette-divider);
}

.cal2-time-column.today-col[b-jwp3prgtva] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.02);
}

.cal2-hour-line[b-jwp3prgtva] {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--mud-palette-divider);
}

.cal2-half-hour-line[b-jwp3prgtva] {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--mud-palette-divider);
    opacity: 0.4;
}

/* ── Now line ── */
.cal2-now-line[b-jwp3prgtva] {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--mud-palette-error);
    z-index: 3;
}

.cal2-now-dot[b-jwp3prgtva] {
    position: absolute;
    left: -4px;
    top: -3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--mud-palette-error);
}

/* ── Time items ── */
.cal2-time-item[b-jwp3prgtva] {
    position: absolute;
    left: 2px;
    right: 4px;
    border-radius: 4px;
    padding: 2px 6px;
    overflow: hidden;
    cursor: pointer;
    z-index: 2;
    transition: filter 0.15s, box-shadow 0.15s;
    display: flex;
    flex-direction: column;
}

.cal2-time-item.compact[b-jwp3prgtva] {
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
}

.cal2-time-item:hover[b-jwp3prgtva] {
    filter: brightness(0.92);
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
    z-index: 5;
}

.cal2-time-item.absence[b-jwp3prgtva] {
    font-style: italic;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        rgba(0,0,0,0.03) 4px,
        rgba(0,0,0,0.03) 8px
    );
}

.cal2-month-item.absence[b-jwp3prgtva] {
    font-style: italic;
    font-weight: 600;
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        rgba(0,0,0,0.03) 4px,
        rgba(0,0,0,0.03) 8px
    );
}

.cal2-allday-item.absence[b-jwp3prgtva] {
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        rgba(0,0,0,0.03) 4px,
        rgba(0,0,0,0.03) 8px
    );
    font-style: italic;
}

.cal2-item-text[b-jwp3prgtva] {
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cal2-item-secondary[b-jwp3prgtva] {
    font-size: 10px;
    opacity: 0.75;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* ═══════════════════════════════
   BUSINESS HOURS — OFF-HOURS SHADING
   ═══════════════════════════════ */

.cal2-hour-slot[b-jwp3prgtva] {
    position: absolute;
    left: 0;
    right: 0;
    height: 30px;
    z-index: 1;
    cursor: pointer;
    transition: background-color 0.15s;
}

.cal2-hour-slot:hover[b-jwp3prgtva] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.06) !important;
}

.cal2-hour-slot.off-hours[b-jwp3prgtva] {
    background: repeating-linear-gradient(
        135deg,
        rgba(0,0,0,0.02),
        rgba(0,0,0,0.02) 4px,
        rgba(0,0,0,0.05) 4px,
        rgba(0,0,0,0.05) 8px
    );
}

/* Month view closed day */
.cal2-month-cell.closed-day[b-jwp3prgtva] {
    background: repeating-linear-gradient(
        135deg,
        rgba(0,0,0,0.015),
        rgba(0,0,0,0.015) 4px,
        rgba(0,0,0,0.04) 4px,
        rgba(0,0,0,0.04) 8px
    );
}

.cal2-month-cell.closed-day .cal2-month-day[b-jwp3prgtva] {
    opacity: 0.4;
}

/* Week view closed day header */
.cal2-week-header-cell.closed-day[b-jwp3prgtva] {
    opacity: 0.45;
}


/* ═══════════════════════════════
   DAY VIEW
   ═══════════════════════════════ */

.cal2-day[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.cal2-day-header[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
}

.cal2-day-header-name[b-jwp3prgtva] {
    font-size: 14px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
}

.cal2-day-header-num[b-jwp3prgtva] {
    font-size: 28px;
    font-weight: 300;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.cal2-day-header-num.today-badge[b-jwp3prgtva] {
    background-color: var(--mud-palette-primary);
    color: white;
    font-weight: 600;
}

.cal2-day-header-month[b-jwp3prgtva] {
    font-size: 14px;
    color: var(--mud-palette-text-secondary);
}

.cal2-day-allday[b-jwp3prgtva] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
}

.cal2-day-grid .cal2-time-column[b-jwp3prgtva] {
    min-width: 0;
}


/* ═══════════════════════════════
   DAY VIEW — EMPLOYEE COLUMNS
   ═══════════════════════════════ */

.cal2-emp-columns-header[b-jwp3prgtva] {
    display: flex;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    padding-right: var(--scrollbar-w, 0px);
}

.cal2-emp-col-header[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px 6px;
    padding: 6px 4px;
    border-left: 1px solid var(--mud-palette-divider);
    transition: background-color 0.15s;
    min-width: 0;
}

.cal2-emp-col-header:hover[b-jwp3prgtva] {
    background-color: var(--mud-palette-action-default-hover);
}

.cal2-emp-col-dot[b-jwp3prgtva] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cal2-emp-col-name[b-jwp3prgtva] {
    font-size: 13px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cal2-emp-col-header.has-absence[b-jwp3prgtva] {
    background: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        rgba(0,0,0,0.03) 4px,
        rgba(0,0,0,0.03) 8px
    );
}

.cal2-emp-col-absence[b-jwp3prgtva] {
    font-size: 10px;
    font-style: italic;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    max-width: 100%;
}

.cal2-time-column.emp-absent[b-jwp3prgtva] {
    background: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 4px,
        rgba(0,0,0,0.02) 4px,
        rgba(0,0,0,0.02) 8px
    ) !important;
}


/* ═══════════════════════════════
   QUICK VIEW POPOVER
   ═══════════════════════════════ */

.cal2-overlay[b-jwp3prgtva] {
    position: fixed;
    inset: 0;
    z-index: 1299;
}

.cal2-quickview[b-jwp3prgtva] {
    position: fixed;
    z-index: 1300;
    min-width: 280px;
    max-width: 360px;
    background: var(--mud-palette-surface);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    overflow: hidden;
}

.qv-header[b-jwp3prgtva] {
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.qv-body[b-jwp3prgtva] {
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.qv-row[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--mud-palette-text-primary);
}

.qv-row .mud-icon-root[b-jwp3prgtva] {
    font-size: 16px;
    color: var(--mud-palette-text-secondary);
}

.qv-header-absence[b-jwp3prgtva] {
    background-image: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 6px,
        rgba(0,0,0,0.03) 6px,
        rgba(0,0,0,0.03) 12px
    );
}

.qv-duration[b-jwp3prgtva] {
    color: var(--mud-palette-text-secondary);
    margin-left: 4px;
}

.qv-note[b-jwp3prgtva] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 13px;
    color: var(--mud-palette-text-secondary);
    padding-top: 8px;
    margin-top: 4px;
    border-top: 1px dashed var(--mud-palette-divider);
}

.qv-note[b-jwp3prgtva]  .mud-icon-root {
    font-size: 18px;
    flex-shrink: 0;
    margin-top: 1px;
    color: var(--mud-palette-text-secondary);
}

.qv-note-content[b-jwp3prgtva] {
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-style: italic;
}

.qv-actions[b-jwp3prgtva] {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    padding: 6px 10px;
    border-top: 1px solid var(--mud-palette-divider);
}


/* ═══════════════════════════════
   SLOT ACTION MENU
   ═══════════════════════════════ */

.cal2-slot-action[b-jwp3prgtva] {
    position: fixed;
    z-index: 1300;
    min-width: 200px;
    background: var(--mud-palette-surface);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    overflow: hidden;
}

.cal2-slot-action-header[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    border-bottom: 1px solid var(--mud-palette-divider);
}

.cal2-slot-action-item[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s;
}

.cal2-slot-action-item:hover[b-jwp3prgtva] {
    background-color: var(--mud-palette-action-default-hover);
}

.cal2-slot-action-item:last-child[b-jwp3prgtva] {
    border-bottom: none;
}

.cal2-slot-action-item.disabled[b-jwp3prgtva] {
    opacity: 0.45;
    cursor: default;
    pointer-events: none;
}

.cal2-slot-action-hint[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 11px;
    color: var(--mud-palette-text-primary);
    background: rgba(var(--mud-palette-warning-rgb), 0.12);
    border-bottom: 1px solid var(--mud-palette-divider);
}


/* ═══════════════════════════════
   MOBILE FAB
   ═══════════════════════════════ */

.cal2-fab[b-jwp3prgtva] {
    display: none;
}


/* ═══════════════════════════════
   WEEK STRIP (Day view mobile)
   ═══════════════════════════════ */

.cal2-week-strip[b-jwp3prgtva] {
    display: none; /* shown on mobile only */
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
}

.cal2-strip-day[b-jwp3prgtva] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 2px;
    cursor: pointer;
    transition: background-color 0.15s;
    position: relative;
}

.cal2-strip-day:hover[b-jwp3prgtva] {
    background-color: var(--mud-palette-action-default-hover);
}

.cal2-strip-day.active[b-jwp3prgtva] {
    background-color: rgba(var(--mud-palette-primary-rgb), 0.08);
}

.cal2-strip-day-name[b-jwp3prgtva] {
    font-size: 10px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
}

.cal2-strip-day-num[b-jwp3prgtva] {
    font-size: 16px;
    font-weight: 500;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.cal2-strip-day.active .cal2-strip-day-num[b-jwp3prgtva] {
    background-color: var(--mud-palette-primary);
    color: white;
    font-weight: 700;
}

.cal2-strip-day.today .cal2-strip-day-num[b-jwp3prgtva] {
    border: 2px solid var(--mud-palette-primary);
}

.cal2-strip-day.today.active .cal2-strip-day-num[b-jwp3prgtva] {
    border: none;
}

.cal2-strip-dot[b-jwp3prgtva] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--mud-palette-primary);
}


/* ═══════════════════════════════
   MONTH "+N MORE" POPOVER
   ═══════════════════════════════ */

.cal2-month-popover[b-jwp3prgtva] {
    position: fixed;
    z-index: 1300;
    min-width: 300px;
    max-width: 380px;
    max-height: 400px;
    background: var(--mud-palette-surface);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.mp-header[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.mp-date[b-jwp3prgtva] {
    font-size: 14px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    margin-right: auto;
}

.mp-count-chip[b-jwp3prgtva] {
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    height: 22px;
    border-radius: 11px;
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

.mp-count-appt[b-jwp3prgtva] {
    background: rgba(var(--mud-palette-primary-rgb), 0.1);
    color: var(--mud-palette-primary);
}

.mp-count-abs[b-jwp3prgtva] {
    background: rgba(var(--mud-palette-warning-rgb), 0.12);
    color: var(--mud-palette-warning-text);
}

.mp-body[b-jwp3prgtva] {
    flex: 1;
    overflow-y: auto;
}

.mp-appointment-item[b-jwp3prgtva] {
    display: flex;
    padding: 12px 16px;
    cursor: pointer;
    border-bottom: 1px solid var(--mud-palette-divider);
    transition: background-color 0.15s;
}

.mp-appointment-item:hover[b-jwp3prgtva] {
    background-color: var(--mud-palette-action-default-hover);
}

.mp-appointment-item:last-child[b-jwp3prgtva] {
    border-bottom: none;
}

.mp-appointment-item.terminal[b-jwp3prgtva] {
    opacity: 0.6;
}

.mp-appointment-item.terminal:hover[b-jwp3prgtva] {
    opacity: 0.8;
}

.mp-color-bar[b-jwp3prgtva] {
    width: 4px;
    min-height: 100%;
    border-radius: 2px;
    margin-right: 12px;
    flex-shrink: 0;
}

.mp-content[b-jwp3prgtva] {
    flex: 1;
    min-width: 0;
}

.mp-content-header[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.mp-detail[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

.mp-detail[b-jwp3prgtva]  .mud-icon-root {
    font-size: 14px;
}

.mp-note[b-jwp3prgtva] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed var(--mud-palette-divider);
}

.mp-note[b-jwp3prgtva]  .mud-icon-root {
    font-size: 14px;
    flex-shrink: 0;
    margin-top: 2px;
}

.mp-note-content[b-jwp3prgtva] {
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-style: italic;
}

.mp-status[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    margin-left: 8px;
    flex-shrink: 0;
}

.mp-footer[b-jwp3prgtva] {
    display: flex;
    justify-content: space-between;
    padding: 8px 12px;
    border-top: 1px solid var(--mud-palette-divider);
}


/* ═══════════════════════════════
   DATE PICKER — TITLE BUTTON
   ═══════════════════════════════ */

.cal2-title-btn[b-jwp3prgtva] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: none;
    border: none;
    font: inherit;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background-color 0.15s;
}

.cal2-title-btn:hover[b-jwp3prgtva] {
    background-color: var(--mud-palette-background-gray);
}

.cal2-title-btn[b-jwp3prgtva]  .cal2-title-chevron {
    transition: transform 0.2s ease;
    color: var(--mud-palette-text-secondary);
}

.cal2-title-btn[b-jwp3prgtva]  .cal2-title-chevron.open {
    transform: rotate(180deg);
}

/* ═══════════════════════════════
   MONTH PICKER STRIP
   ═══════════════════════════════ */

.cal2-monthpicker-wrap[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    overflow: hidden;
    animation: cal2-tagsSlideIn-b-jwp3prgtva 0.2s ease-out;
}

.cal2-monthpicker-strip[b-jwp3prgtva] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.cal2-monthpicker-strip[b-jwp3prgtva]::-webkit-scrollbar {
    display: none;
}

.cal2-monthpicker-year[b-jwp3prgtva] {
    font-size: 10px;
    font-weight: 600;
    color: var(--mud-palette-text-disabled);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    padding: 0 2px 0 8px;
    flex-shrink: 0;
    border-left: 2px solid var(--mud-palette-divider);
    line-height: 1;
}

.cal2-monthpicker-year:first-child[b-jwp3prgtva] {
    border-left: none;
    padding-left: 2px;
}

.cal2-monthpicker-btn[b-jwp3prgtva] {
    padding: 4px 12px;
    border-radius: 14px;
    border: 1px solid transparent;
    background: none;
    font: inherit;
    font-size: 12px;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
    flex-shrink: 0;
}

.cal2-monthpicker-btn:hover[b-jwp3prgtva] {
    background-color: var(--mud-palette-background-gray);
}

.cal2-monthpicker-btn.current[b-jwp3prgtva] {
    border-color: var(--mud-palette-primary);
    color: var(--mud-palette-primary);
}

.cal2-monthpicker-btn.selected[b-jwp3prgtva] {
    background-color: var(--mud-palette-primary);
    color: white;
    border-color: var(--mud-palette-primary);
}

.cal2-monthpicker-btn.selected:hover[b-jwp3prgtva] {
    filter: brightness(0.9);
}

/* Scroll arrows — hidden by default, shown when .scrollable */
.cal2-monthpicker-arrow[b-jwp3prgtva] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 28px;
    flex-shrink: 0;
    border: none;
    cursor: pointer;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    padding: 0;
    transition: color 0.15s, background 0.15s;
}

.cal2-monthpicker-wrap.scrollable .cal2-monthpicker-arrow[b-jwp3prgtva] {
    display: flex;
}

.cal2-monthpicker-arrow:hover[b-jwp3prgtva] {
    color: var(--mud-palette-primary);
    background: rgba(var(--mud-palette-primary-rgb), 0.04);
}

/* ═══════════════════════════════
   DAY PICKER STRIP
   ═══════════════════════════════ */

.cal2-daypicker-wrap[b-jwp3prgtva] {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--mud-palette-divider);
    flex-shrink: 0;
    overflow: hidden;
}

.cal2-daypicker-strip[b-jwp3prgtva] {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 4px 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.cal2-daypicker-strip[b-jwp3prgtva]::-webkit-scrollbar {
    display: none;
}

.cal2-daypicker-btn[b-jwp3prgtva] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 3px 6px;
    min-width: 36px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: none;
    font: inherit;
    cursor: pointer;
    transition: all 0.15s;
    flex-shrink: 0;
}

.cal2-daypicker-btn:hover[b-jwp3prgtva] {
    background-color: var(--mud-palette-background-gray);
}

.cal2-daypicker-dayname[b-jwp3prgtva] {
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--mud-palette-text-secondary);
    line-height: 1;
}

.cal2-daypicker-daynum[b-jwp3prgtva] {
    font-size: 13px;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    line-height: 1.2;
}

.cal2-daypicker-btn.current[b-jwp3prgtva] {
    border-color: var(--mud-palette-primary);
}

.cal2-daypicker-btn.current .cal2-daypicker-dayname[b-jwp3prgtva],
.cal2-daypicker-btn.current .cal2-daypicker-daynum[b-jwp3prgtva] {
    color: var(--mud-palette-primary);
}

.cal2-daypicker-btn.selected[b-jwp3prgtva] {
    background-color: var(--mud-palette-primary);
    border-color: var(--mud-palette-primary);
}

.cal2-daypicker-btn.selected .cal2-daypicker-dayname[b-jwp3prgtva],
.cal2-daypicker-btn.selected .cal2-daypicker-daynum[b-jwp3prgtva] {
    color: white;
}

.cal2-daypicker-btn.selected:hover[b-jwp3prgtva] {
    filter: brightness(0.9);
}

/* Scroll arrows — hidden by default, shown when .scrollable */
.cal2-daypicker-arrow[b-jwp3prgtva] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 28px;
    flex-shrink: 0;
    border: none;
    cursor: pointer;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-surface);
    padding: 0;
    transition: color 0.15s, background 0.15s;
}

.cal2-daypicker-wrap.scrollable .cal2-daypicker-arrow[b-jwp3prgtva] {
    display: flex;
}

.cal2-daypicker-arrow:hover[b-jwp3prgtva] {
    color: var(--mud-palette-primary);
    background: rgba(var(--mud-palette-primary-rgb), 0.04);
}


/* Hide picker arrows on touch-only devices (no hover = no mouse) */
@media (hover: none) {
    .cal2-monthpicker-arrow[b-jwp3prgtva],
    .cal2-daypicker-arrow[b-jwp3prgtva] {
        display: none !important;
    }
}


/* ═══════════════════════════════
   RESPONSIVE
   ═══════════════════════════════ */

@media (max-width: 600px) {
    .cal2-container[b-jwp3prgtva] {
        height: calc(100vh - 56px - 12px - 12px); /* appbar + mt + mb */
        border-radius: 0;
    }

    .cal2-toolbar[b-jwp3prgtva] {
        padding: 6px 10px;
        flex-wrap: wrap;
        gap: 4px 8px;
    }

    /* Row 1: title + nav + today + filter — all in one line */
    .cal2-toolbar-left[b-jwp3prgtva] {
        order: 2;
        gap: 4px;
    }

    .cal2-toolbar-center[b-jwp3prgtva] {
        order: 1;
        font-size: 14px;
        margin-right: auto;
    }

    /* Row 2: view group spans full width */
    .cal2-toolbar-right[b-jwp3prgtva] {
        order: 3;
        width: 100%;
    }

    .cal2-view-group[b-jwp3prgtva] {
        flex: 1;
    }

    .cal2-view-btn[b-jwp3prgtva] {
        flex: 1;
        text-align: center;
        padding: 5px 0;
        font-size: 11px;
    }

    /* Hide desktop add menu on mobile */
    .cal2-toolbar-right[b-jwp3prgtva]  .mud-menu {
        display: none;
    }

    /* Hide filter label text on mobile, keep icon + badge */
    .cal2-filter-btn span:not(.cal2-filter-badge)[b-jwp3prgtva] {
        display: none;
    }
    .cal2-filter-btn .mud-icon-root[b-jwp3prgtva] {
        display: flex;
    }
    .cal2-filter-btn[b-jwp3prgtva] {
        padding: 4px 8px;
    }

    .cal2-nav-btn[b-jwp3prgtva] {
        width: 28px;
        height: 28px;
    }

    .cal2-btn-today[b-jwp3prgtva] {
        height: 28px;
        padding: 0 10px;
        font-size: 11px;
        line-height: 28px;
    }

    .cal2-filter-btn[b-jwp3prgtva] {
        height: 28px;
    }

    .cal2-filter-tags[b-jwp3prgtva] {
        padding: 4px 10px;
        gap: 4px;
    }

    .cal2-filter-dropdown[b-jwp3prgtva] {
        width: 220px;
        left: auto;
        right: 0;
    }

    .cal2-filter-clear[b-jwp3prgtva] {
        display: none;
    }

    .cal2-month-cell[b-jwp3prgtva] {
        padding: 1px;
    }

    .cal2-month-day[b-jwp3prgtva] {
        font-size: 11px;
        width: 20px;
        height: 20px;
    }

    .cal2-month-item[b-jwp3prgtva] {
        font-size: 10px;
        padding: 1px 3px;
    }

    .cal2-week-day-num[b-jwp3prgtva] {
        font-size: 16px;
        width: 28px;
        height: 28px;
    }

    .cal2-time-gutter[b-jwp3prgtva] {
        width: 36px;
    }

    .cal2-time-gutter-header[b-jwp3prgtva] {
        width: 36px;
    }

    .cal2-time-label[b-jwp3prgtva] {
        font-size: 9px;
        padding-right: 4px;
    }

    .cal2-emp-col-name[b-jwp3prgtva] {
        font-size: 11px;
    }

    .cal2-emp-col-dot[b-jwp3prgtva] {
        width: 8px;
        height: 8px;
    }

    /* Show FAB on mobile */
    .cal2-fab[b-jwp3prgtva] {
        display: block;
        position: fixed;
        bottom: 24px;
        right: 24px;
        z-index: 100;
    }

    /* Show week strip on mobile */
    .cal2-week-strip[b-jwp3prgtva] {
        display: flex;
    }

    /* Hide day header on mobile (week strip replaces it) */
    .cal2-day-header[b-jwp3prgtva] {
        display: none;
    }

    /* Quick view full width on mobile */
    .cal2-quickview[b-jwp3prgtva] {
        left: 8px !important;
        right: 8px !important;
        max-width: none;
        min-width: auto;
    }

    /* Month popover full width on mobile */
    .cal2-month-popover[b-jwp3prgtva] {
        left: 8px !important;
        right: 8px !important;
        max-width: none;
        min-width: auto;
    }

    /* Slot action centered on mobile */
    .cal2-slot-action[b-jwp3prgtva] {
        left: 50% !important;
        transform: translateX(-50%);
        min-width: 220px;
    }

    .cal2-holiday-badge[b-jwp3prgtva] {
        font-size: 0.6rem;
        max-width: 80px;
    }
}

/* ── Holiday styles ── */
.cal2-month-cell.holiday[b-jwp3prgtva] {
    background-color: #fff8e1;
}

.cal2-month-cell.holiday.other-month[b-jwp3prgtva] {
    background-color: #fffdf2;
}

.cal2-month-cell-header .cal2-holiday-badge[b-jwp3prgtva] {
    margin-right: auto;
}

.cal2-holiday-badge[b-jwp3prgtva] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 500;
    color: #e65100;
    background-color: #fff3e0;
    border-radius: 3px;
    padding: 0 4px;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.4;
    vertical-align: middle;
}

.cal2-week-header-cell.holiday[b-jwp3prgtva] {
    background-color: #fff8e1;
}

.cal2-week-header-cell.holiday .cal2-holiday-badge[b-jwp3prgtva] {
    display: block;
    margin-top: 2px;
}

.cal2-day-header .cal2-holiday-badge[b-jwp3prgtva] {
    margin-left: 8px;
    font-size: 0.75rem;
    padding: 1px 8px;
}
/* /Pages/Clients/Components/MultiConsentCard.razor.rz.scp.css */
/* ===== PILL BUTTONS ===== */
.mcc-btn[b-lwev6ehm9m] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 14px;
    border-radius: 100px;
    border: none;
    font-family: inherit;
    font-size: 0.775rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, color .15s;
    white-space: nowrap;
    line-height: 1.5;
}

.mcc-btn-ghost[b-lwev6ehm9m] {
    background: transparent;
    color: var(--mud-palette-primary);
}

    .mcc-btn-ghost:hover[b-lwev6ehm9m] {
        background: rgba(var(--mud-palette-primary-rgb), .08);
    }

.mcc-btn-primary[b-lwev6ehm9m] {
    background: var(--mud-palette-primary);
    color: #fff;
}

    .mcc-btn-primary:hover[b-lwev6ehm9m] {
        background: var(--mud-palette-primary-darken);
    }

/* ===== EMPTY ALERT (estado sin consentimientos) ===== */
.mcc-empty-alert[b-lwev6ehm9m] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px;
    border-radius: var(--mud-default-borderradius);
    background: rgba(var(--mud-palette-info-rgb), .07);
    border: 1px solid rgba(var(--mud-palette-info-rgb), .2);
}

.mcc-empty-alert-icon[b-lwev6ehm9m] {
    font-size: 26px !important;
    color: var(--mud-palette-info);
    flex-shrink: 0;
    margin-top: 2px;
}

/* ===== FILTER TABS ===== */
.mcc-filter-tabs[b-lwev6ehm9m] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.mcc-ftab[b-lwev6ehm9m] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 13px;
    border-radius: 100px;
    border: 1.5px solid var(--mud-palette-divider);
    font-family: inherit;
    font-size: 0.775rem;
    font-weight: 600;
    cursor: pointer;
    background: transparent;
    color: var(--mud-palette-text-secondary);
    transition: border-color .15s, color .15s, background .15s;
}

    .mcc-ftab:hover[b-lwev6ehm9m] {
        border-color: var(--mud-palette-primary);
        color: var(--mud-palette-primary);
    }

    .mcc-ftab.active[b-lwev6ehm9m] {
        background: rgba(var(--mud-palette-primary-rgb), .08);
        color: var(--mud-palette-primary);
        border-color: var(--mud-palette-primary);
    }

/* ===== SECTION SEPARATOR ===== */
.mcc-separator[b-lwev6ehm9m] {
    font-size: 10px;
    font-weight: 700;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 18px 0 10px;
}

    .mcc-separator[b-lwev6ehm9m]::after {
        content: '';
        flex: 1;
        height: 1px;
        background: var(--mud-palette-divider);
    }

.mcc-separator-first[b-lwev6ehm9m] {
    margin-top: 0 !important;
}

/* ===== CONSENT ITEM ===== */
.mcc-item[b-lwev6ehm9m] {
    border-radius: var(--mud-default-borderradius);
    border: 1px solid var(--mud-palette-divider);
    box-shadow: 0 1px 4px rgba(0,0,0,.04);
    padding: 14px 10px 14px 16px;
    margin-bottom: 10px;
    position: relative;
    overflow: hidden;
    transition: box-shadow .2s;
}

    .mcc-item:last-child[b-lwev6ehm9m] {
        margin-bottom: 0;
    }

    .mcc-item:hover[b-lwev6ehm9m] {
        box-shadow: 0 4px 16px rgba(0,0,0,.07);
    }

    /* Left status bar */
    .mcc-item[b-lwev6ehm9m]::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 3px;
    }

    .mcc-item.signed[b-lwev6ehm9m]::before   { background: var(--mud-palette-success); }
    .mcc-item.pending[b-lwev6ehm9m]::before  { background: var(--mud-palette-warning); }
    .mcc-item.rejected[b-lwev6ehm9m]::before { background: var(--mud-palette-error); }
    .mcc-item.expired[b-lwev6ehm9m]::before  { background: var(--mud-palette-text-disabled); }

/* Item row: body + action buttons */
.mcc-item-row[b-lwev6ehm9m] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

/* Body */
.mcc-body[b-lwev6ehm9m] {
    flex: 1;
    min-width: 0;
}

.mcc-name[b-lwev6ehm9m] {
    font-size: 13px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    margin-bottom: 3px;
}

.mcc-meta[b-lwev6ehm9m] {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1.6;
    flex-wrap: wrap;
}

.mcc-chips[b-lwev6ehm9m] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 8px;
}

/* Alert */
.mcc-alert[b-lwev6ehm9m] {
    margin-top: 10px;
    margin-bottom: 2px;
}

/* Action icon buttons row (right) */
.mcc-item-actions[b-lwev6ehm9m] {
    display: flex;
    flex-direction: row;
    gap: 0;
    flex-shrink: 0;
    align-items: flex-start;
}

/* ===== FILTER EMPTY STATE ===== */
.mcc-filter-empty[b-lwev6ehm9m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 20px;
    text-align: center;
}

.mcc-filter-empty-icon[b-lwev6ehm9m] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

    .mcc-filter-empty-icon.signed[b-lwev6ehm9m]   { background: rgba(var(--mud-palette-success-rgb, 16,185,129), .12); color: var(--mud-palette-success); }
    .mcc-filter-empty-icon.pending[b-lwev6ehm9m]  { background: rgba(var(--mud-palette-warning-rgb, 245,158,11), .12); color: var(--mud-palette-warning); }
    .mcc-filter-empty-icon.rejected[b-lwev6ehm9m] { background: rgba(var(--mud-palette-error-rgb,   239,68,68),  .12); color: var(--mud-palette-error); }
/* /Pages/DataProtection/Consents/ConsentHistoryDialog.razor.rz.scp.css */
.chd-filters[b-vhm2ywby7z] {
    display: flex;
    gap: 8px;
    padding: 12px 0 12px;
    flex-wrap: wrap;
}
.chd-filter-select[b-vhm2ywby7z] { max-width: 160px; }
.chd-search[b-vhm2ywby7z] { flex: 1; min-width: 160px; }

.chd-body[b-vhm2ywby7z] {
    max-height: 55vh;
    overflow-y: auto;
    padding: 4px 2px 4px 0;
}

.chd-year-sep[b-vhm2ywby7z] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    color: var(--mud-palette-primary);
    margin: 14px 0 8px;
}
.chd-year-sep[b-vhm2ywby7z]::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--mud-palette-divider);
}

.chd-item[b-vhm2ywby7z] {
    background: var(--mud-palette-background-grey);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 7px;
    border-left: 3px solid transparent;
    transition: box-shadow .2s;
}
.chd-item:hover[b-vhm2ywby7z] { box-shadow: 0 2px 12px rgba(89,74,226,.08); }
.chd-item.signed[b-vhm2ywby7z]    { border-left-color: var(--mud-palette-success); }
.chd-item.pending[b-vhm2ywby7z]   { border-left-color: var(--mud-palette-warning); }
.chd-item.remindersent[b-vhm2ywby7z] { border-left-color: var(--mud-palette-warning); }
.chd-item.rejected[b-vhm2ywby7z]  { border-left-color: var(--mud-palette-error); }
.chd-item.expired[b-vhm2ywby7z]   { border-left-color: var(--mud-palette-text-disabled); }
.chd-item.revoked[b-vhm2ywby7z]   { border-left-color: var(--mud-palette-error); }

.chd-item-top[b-vhm2ywby7z] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 6px;
}
.chd-item-name[b-vhm2ywby7z] { font-size: 13px; font-weight: 600; }
.chd-item-date[b-vhm2ywby7z] { font-size: 11px; color: var(--mud-palette-text-secondary); white-space: nowrap; flex-shrink: 0; }

.chd-chips[b-vhm2ywby7z] {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}
.chd-chip[b-vhm2ywby7z] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 9px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 600;
}
.chd-chip-success[b-vhm2ywby7z] { background: rgba(16,185,129,.12); color: #059669; }
.chd-chip-warning[b-vhm2ywby7z] { background: rgba(245,158,11,.14); color: #D97706; }
.chd-chip-danger[b-vhm2ywby7z]  { background: rgba(239,68,68,.1);   color: #DC2626; }
.chd-chip-neutral[b-vhm2ywby7z] { background: rgba(0,0,0,.06);       color: var(--mud-palette-text-secondary); }
.chd-chip-info[b-vhm2ywby7z]    { background: rgba(59,130,246,.1);   color: #2563EB; }

.chd-alert[b-vhm2ywby7z] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 500;
    margin-top: 5px;
}
.chd-alert-warn[b-vhm2ywby7z]    { background: rgba(245,158,11,.12); color: #92400E; }
.chd-alert-success[b-vhm2ywby7z] { background: rgba(16,185,129,.1);  color: #065F46; }

.chd-actions[b-vhm2ywby7z] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 7px;
}
.chd-btn[b-vhm2ywby7z] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all .2s;
    font-family: inherit;
}
.chd-btn-outline[b-vhm2ywby7z] {
    background: transparent;
    border: 1.5px solid var(--mud-palette-divider);
    color: var(--mud-palette-text-secondary);
}
.chd-btn-outline:hover[b-vhm2ywby7z] { border-color: var(--mud-palette-primary); color: var(--mud-palette-primary); }
.chd-btn-ghost[b-vhm2ywby7z] { background: transparent; color: var(--mud-palette-primary); }
.chd-btn-ghost:hover[b-vhm2ywby7z] { background: rgba(89,74,226,.06); }
/* /Pages/DataProtection/Consents/RequestConsentDialog.razor.rz.scp.css */
.rcd-client-banner[b-la70hcy5se] {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(89,74,226,.06);
    border-radius: 10px;
    padding: 10px 14px;
    margin-bottom: 16px;
}
.rcd-client-avatar[b-la70hcy5se] {
    width: 34px; height: 34px; border-radius: 50%;
    background: linear-gradient(135deg, var(--mud-palette-primary), var(--mud-palette-primary-lighten));
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.rcd-client-name[b-la70hcy5se] { font-size: 13px; font-weight: 600; }
.rcd-client-label[b-la70hcy5se] { font-size: 11px; color: var(--mud-palette-text-secondary); }

.rcd-section-sep[b-la70hcy5se] {
    font-size: 11px;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
    letter-spacing: .5px;
    padding-bottom: 7px;
    margin-bottom: 10px;
    margin-top: 4px;
    border-bottom: 1px solid var(--mud-palette-divider);
}
.rcd-label[b-la70hcy5se] {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    margin-bottom: 8px;
}
.rcd-req[b-la70hcy5se] { color: var(--mud-palette-error); }

.rcd-template-list[b-la70hcy5se] {
    border: 1.5px solid var(--mud-palette-divider);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 18px;
    max-height: 220px;
    overflow-y: auto;
}
.rcd-tpl-item[b-la70hcy5se] {
    padding: 11px 14px;
    border-bottom: 1px solid var(--mud-palette-divider);
    cursor: pointer;
    transition: background .15s;
}
.rcd-tpl-item:last-child[b-la70hcy5se] { border-bottom: none; }
.rcd-tpl-item:hover[b-la70hcy5se] { background: rgba(89,74,226,.05); }
.rcd-tpl-item.selected[b-la70hcy5se] {
    background: rgba(89,74,226,.06);
    border-left: 3px solid var(--mud-palette-primary);
    padding-left: 11px;
}
.rcd-tpl-name[b-la70hcy5se] { font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.rcd-tpl-chips[b-la70hcy5se] { display: flex; gap: 4px; flex-wrap: wrap; }

.rcd-chip[b-la70hcy5se] {
    display: inline-flex; align-items: center; gap: 3px;
    padding: 2px 8px; border-radius: 100px;
    font-size: 11px; font-weight: 600;
}
.rcd-chip-primary[b-la70hcy5se] { background: rgba(89,74,226,.08);   color: var(--mud-palette-primary); }
.rcd-chip-warning[b-la70hcy5se] { background: rgba(245,158,11,.14);  color: #D97706; }
.rcd-chip-neutral[b-la70hcy5se] { background: rgba(0,0,0,.06);        color: var(--mud-palette-text-secondary); }
.rcd-chip-pdf[b-la70hcy5se]     { background: rgba(239,68,68,.08);   color: #DC2626; }
.rcd-chip-html[b-la70hcy5se]    { background: rgba(16,185,129,.08);  color: #059669; }

.rcd-method-grid[b-la70hcy5se] { display: flex; flex-direction: column; gap: 8px; margin-bottom: 4px; }
.rcd-method-option[b-la70hcy5se] {
    display: flex; align-items: center; gap: 14px;
    padding: 13px 14px;
    border: 1.5px solid var(--mud-palette-divider);
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s;
}
.rcd-method-option:hover[b-la70hcy5se] { border-color: var(--mud-palette-primary-lighten); background: rgba(89,74,226,.04); }
.rcd-method-option.selected[b-la70hcy5se] { border-color: var(--mud-palette-primary); background: rgba(89,74,226,.06); }
.rcd-method-icon[b-la70hcy5se] {
    width: 40px; height: 40px; border-radius: 9px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-secondary);
    transition: all .2s;
}
.rcd-method-option.selected .rcd-method-icon[b-la70hcy5se] {
    background: var(--mud-palette-primary);
    color: white;
}
.rcd-method-title[b-la70hcy5se] { font-size: 13px; font-weight: 600; }
.rcd-method-sub[b-la70hcy5se]   { font-size: 12px; color: var(--mud-palette-text-secondary); margin-top: 1px; }
/* /Pages/DataProtection/ConsentTemplates/EditTemplateDialog.razor.rz.scp.css */
.ctd-section[b-elajvhqimm] {
    border: 1px solid var(--mud-palette-divider);
    border-radius: 12px;
    padding: 20px 24px;
}

.ctd-section-title[b-elajvhqimm] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--mud-palette-text-primary);
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.ctd-section-icon[b-elajvhqimm] {
    color: var(--mud-palette-primary);
    font-size: 20px !important;
}

.ctd-toggle-row[b-elajvhqimm] {
    display: flex;
    align-items: flex-start;
    gap: 4px;
    padding: 12px 0;
    border-bottom: 1px solid var(--mud-palette-divider);
}

.ctd-toggle-info[b-elajvhqimm] {
    flex: 1;
    padding-top: 6px;
}

.ctd-toggle-title[b-elajvhqimm] {
    font-size: 13px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.ctd-toggle-sub[b-elajvhqimm] {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
    line-height: 1.5;
}

/* Type selector */
.ctd-type-selector[b-elajvhqimm] {
    display: flex;
    gap: 12px;
}

.ctd-type-card[b-elajvhqimm] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 2px solid var(--mud-palette-divider);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    background: var(--mud-palette-surface);
}

    .ctd-type-card:hover[b-elajvhqimm] {
        border-color: var(--mud-palette-primary-lighten);
        background: var(--mud-palette-primary-hover);
    }

    .ctd-type-card.selected[b-elajvhqimm] {
        border-color: var(--mud-palette-primary);
        background: var(--mud-palette-primary-hover);
    }

.ctd-type-label[b-elajvhqimm] {
    font-size: 13px;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.ctd-type-desc[b-elajvhqimm] {
    font-size: 11px;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

/* PDF dropzone */
.ctd-pdf-dropzone[b-elajvhqimm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    border: 2px dashed var(--mud-palette-divider);
    border-radius: 10px;
    cursor: pointer;
    padding: 24px;
    text-align: center;
    transition: border-color 0.2s, background 0.2s;
    background: var(--mud-palette-background-grey);
}

    .ctd-pdf-dropzone:hover[b-elajvhqimm],
    .ctd-pdf-dropzone.has-file[b-elajvhqimm] {
        border-color: var(--mud-palette-error);
        background: rgba(var(--mud-palette-error-rgb), 0.04);
    }
/* /Pages/DataProtection/ConsentTemplates/Index.razor.rz.scp.css */
[b-546p48himj] .col-actions {
    width: 100px;
    text-align: right;
}
