/* _content/ClinicApp/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-hbclz28bap] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-hbclz28bap] {
    flex: 1;
}

.sidebar[b-hbclz28bap] {
    background-color: #303030;
}

.top-row[b-hbclz28bap] {
    background-color: #f4f1ed;
    border-bottom: 1px solid #e5e0d9;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-hbclz28bap]  a, .top-row[b-hbclz28bap]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
        color: #8f8279;
    }

    .top-row[b-hbclz28bap]  a:hover, .top-row[b-hbclz28bap]  .btn-link:hover {
        text-decoration: underline;
        color: #303030;
    }

    .top-row[b-hbclz28bap]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-hbclz28bap] {
        justify-content: space-between;
    }

    .top-row[b-hbclz28bap]  a, .top-row[b-hbclz28bap]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-hbclz28bap] {
        flex-direction: row;
    }

    .sidebar[b-hbclz28bap] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-hbclz28bap] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-hbclz28bap]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-hbclz28bap], article[b-hbclz28bap] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* _content/ClinicApp/Components/Layout/MobileLayout.razor.rz.scp.css */
.m-page[b-h6ehx6qnb4] {
    display: flex;
    flex-direction: column;
    height: 100dvh;
    background: #faf9f7;
}

.m-topbar[b-h6ehx6qnb4] {
    height: 48px;
    min-height: 48px;
    background: #303030;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 0 12px;
    padding-top: env(safe-area-inset-top);
    flex-shrink: 0;
    z-index: 100;
}

.m-brand-link[b-h6ehx6qnb4] {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.m-brand-logo[b-h6ehx6qnb4] {
    height: 22px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.m-topbar-spacer[b-h6ehx6qnb4] {
    flex: 1;
}

.m-content[b-h6ehx6qnb4] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.m-tabbar[b-h6ehx6qnb4] {
    height: 56px;
    min-height: 56px;
    background: #fff;
    border-top: 1px solid #e5e0d9;
    display: flex;
    padding-bottom: env(safe-area-inset-bottom);
    flex-shrink: 0;
    z-index: 100;
}

.m-tab[b-h6ehx6qnb4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    color: #999;
    font-size: 0.65rem;
    gap: 2px;
    position: relative;
    -webkit-tap-highlight-color: transparent;
}

.m-tab i[b-h6ehx6qnb4] {
    font-size: 1.2rem;
}

.m-tab:hover[b-h6ehx6qnb4], .m-tab.active[b-h6ehx6qnb4] {
    color: #9d88d3;
}

.m-notif-badge[b-h6ehx6qnb4] {
    position: absolute;
    top: 4px;
    right: calc(50% - 18px);
    background: #e74c3c;
    color: #fff;
    font-size: 0.55rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}
/* _content/ClinicApp/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-8wi56zdf8c] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-8wi56zdf8c] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-8wi56zdf8c] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.2);
}

.navbar-brand[b-8wi56zdf8c] {
    font-size: 1.1rem;
}

.brand-logo[b-8wi56zdf8c] {
    max-width: 160px;
    height: auto;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.bi[b-8wi56zdf8c] {
    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-8wi56zdf8c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' 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-people-nav-menu[b-8wi56zdf8c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1h8zm-7.978-1A.261.261 0 0 1 7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002a.274.274 0 0 1-.014.002H7.022zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0zM6.936 9.28a5.88 5.88 0 0 0-1.23-.247A7.35 7.35 0 0 0 5 9c-4 0-5 3-5 4 0 .667.333 1 1 1h4.216A2.238 2.238 0 0 1 5 13c0-.344.063-.745.223-1.218.254-.745.665-1.481 1.334-2.106.24-.225.497-.434.779-.624zM4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E");
}

.bi-calendar-nav-menu[b-8wi56zdf8c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z'/%3E%3C/svg%3E");
}

.bi-clipboard-nav-menu[b-8wi56zdf8c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z'/%3E%3Cpath d='M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z'/%3E%3C/svg%3E");
}

.bi-heart-nav-menu[b-8wi56zdf8c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z'/%3E%3C/svg%3E");
}

.bi-graph-nav-menu[b-8wi56zdf8c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4 11H2v3h2v-3zm5-4H7v7h2V7zm5-5h-2v12h2V2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3z'/%3E%3C/svg%3E");
}

.bi-receipt-nav-menu[b-8wi56zdf8c] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1.92.506a.5.5 0 0 1 .434.14L3 1.293l.646-.647a.5.5 0 0 1 .708 0L5 1.293l.646-.647a.5.5 0 0 1 .708 0L7 1.293l.646-.647a.5.5 0 0 1 .708 0L9 1.293l.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .801.13l.5 1A.5.5 0 0 1 15 2v12a.5.5 0 0 1-.053.224l-.5 1a.5.5 0 0 1-.8.13L13 14.707l-.646.647a.5.5 0 0 1-.708 0L11 14.707l-.646.647a.5.5 0 0 1-.708 0L9 14.707l-.646.647a.5.5 0 0 1-.708 0L7 14.707l-.646.647a.5.5 0 0 1-.708 0L5 14.707l-.646.647a.5.5 0 0 1-.708 0L3 14.707l-.646.647a.5.5 0 0 1-.801-.13l-.5-1A.5.5 0 0 1 1 14V2a.5.5 0 0 1 .053-.224l.5-1a.5.5 0 0 1 .367-.27zM2 2.118v11.764l.137.274.51-.51a.5.5 0 0 1 .707 0l.646.647.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.509.509.137-.274V2.118l-.137-.274-.51.51a.5.5 0 0 1-.707 0L12 1.707l-.646.647a.5.5 0 0 1-.708 0L10 1.707l-.646.647a.5.5 0 0 1-.708 0L8 1.707l-.646.647a.5.5 0 0 1-.708 0L6 1.707l-.646.647a.5.5 0 0 1-.708 0L4 1.707l-.646.647a.5.5 0 0 1-.708 0l-.509-.51z'/%3E%3Cpath d='M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm8-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-8wi56zdf8c] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-8wi56zdf8c] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-8wi56zdf8c] {
        padding-bottom: 1rem;
    }

    .nav-item[b-8wi56zdf8c]  .nav-link {
        color: #ac9685;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-8wi56zdf8c]  a.active {
    background-color: rgba(157, 136, 211, 0.25);
    color: white;
}

.nav-item[b-8wi56zdf8c]  .nav-link:hover {
    background-color: rgba(255,255,255,0.08);
    color: white;
}

.nav-scrollable[b-8wi56zdf8c] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-8wi56zdf8c] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-8wi56zdf8c] {
        display: none;
    }

    .nav-scrollable[b-8wi56zdf8c] {
        display: block;
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* _content/ClinicApp/Components/Pages/Appointments/AppointmentForm.razor.rz.scp.css */
/* ── Month Grid ── */
.month-nav[b-v013im2qsf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.month-nav button[b-v013im2qsf] {
    background: none;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 0.25rem 0.5rem;
    cursor: pointer;
    color: #303030;
}

.month-nav button:hover[b-v013im2qsf] {
    background: #f0f0f0;
}

.month-grid[b-v013im2qsf] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 1rem;
}

.month-header[b-v013im2qsf] {
    text-align: center;
    font-weight: 600;
    font-size: 0.75rem;
    color: #888;
    padding: 0.25rem 0;
}

.month-cell[b-v013im2qsf] {
    text-align: center;
    padding: 0.35rem 0.15rem;
    border: none;
    border-radius: 4px;
    font-size: 0.85rem;
    cursor: pointer;
    background: transparent;
    color: #303030;
    transition: background 0.15s;
}

.month-cell:hover:not(:disabled)[b-v013im2qsf] {
    background: #e8e4f0;
}

.month-cell:disabled[b-v013im2qsf] {
    color: #ccc;
    cursor: default;
}

.month-cell.today[b-v013im2qsf] {
    font-weight: 700;
    border: 2px solid #9d88d3;
}

.month-cell.selected[b-v013im2qsf] {
    background: #9d88d3;
    color: #fff;
    font-weight: 600;
}

.month-cell.has-appointments[b-v013im2qsf] {
    position: relative;
}

.month-cell.has-appointments[b-v013im2qsf]::after {
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    background: #ac9685;
    border-radius: 50%;
    margin: 1px auto 0;
}

.month-cell.selected.has-appointments[b-v013im2qsf]::after {
    background: #fff;
}

.month-cell.fully-booked[b-v013im2qsf] {
    color: #bbb;
    text-decoration: line-through;
}

.month-cell-empty[b-v013im2qsf] {
    padding: 0.35rem 0.15rem;
}

/* ── Day Timeline ── */
.day-timeline[b-v013im2qsf] {
    max-height: 480px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 6px;
}

.time-slot[b-v013im2qsf] {
    display: flex;
    align-items: stretch;
    min-height: 36px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: background 0.12s;
}

.time-slot:last-child[b-v013im2qsf] {
    border-bottom: none;
}

.time-slot:hover:not(.time-slot-occupied):not(.time-slot-unavailable)[b-v013im2qsf] {
    background: #f3f0fa;
}

.time-slot-time[b-v013im2qsf] {
    width: 60px;
    flex-shrink: 0;
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
    color: #888;
    border-right: 1px solid #f0f0f0;
    display: flex;
    align-items: center;
}

.time-slot-content[b-v013im2qsf] {
    flex: 1;
    padding: 0.35rem 0.75rem;
    display: flex;
    align-items: center;
    font-size: 0.85rem;
}

.time-slot-occupied[b-v013im2qsf] {
    cursor: default;
}

.time-slot-occupied .time-slot-content[b-v013im2qsf] {
    background: #f8e8e0;
    color: #8b5e3c;
    font-weight: 500;
    border-left: 3px solid #ac9685;
    margin: 1px 0;
    border-radius: 0 4px 4px 0;
}

.time-slot-unavailable[b-v013im2qsf] {
    cursor: default;
    opacity: 0.4;
}

.time-slot-unavailable .time-slot-content[b-v013im2qsf] {
    background: #f5f5f5;
}

.time-slot.time-slot-selected[b-v013im2qsf] {
    background: #ece7f7;
}

.time-slot.time-slot-selected .time-slot-time[b-v013im2qsf] {
    color: #9d88d3;
    font-weight: 600;
}

.time-slot.time-slot-selected .time-slot-content[b-v013im2qsf] {
    color: #6b5aa0;
    font-weight: 500;
}

/* ── Calendar Panel ── */
.calendar-panel[b-v013im2qsf] {
    background: #fff;
    border: 1px solid #e5e0d9;
    border-radius: 8px;
    padding: 1rem;
}

.calendar-panel h6[b-v013im2qsf] {
    color: #303030;
    margin-bottom: 0.75rem;
}

.day-label[b-v013im2qsf] {
    font-weight: 600;
    color: #303030;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}
/* _content/ClinicApp/Components/Pages/Mobile/MobileAppointment.razor.rz.scp.css */
.ma-loading[b-ol46rhqcn6] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #999;
}

.ma-container[b-ol46rhqcn6] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* ── Status banner ── */
.ma-status-banner[b-ol46rhqcn6] {
    padding: 16px;
    color: #fff;
    flex-shrink: 0;
}

.ma-status-label[b-ol46rhqcn6] {
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.ma-status-actions[b-ol46rhqcn6] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ma-status-actions .btn[b-ol46rhqcn6] {
    min-height: 36px;
    font-size: 0.8rem;
}

.ma-status-primary[b-ol46rhqcn6] { background: #9d88d3; }
.ma-status-info[b-ol46rhqcn6] { background: #17a2b8; }
.ma-status-warning[b-ol46rhqcn6] { background: #ffc107; color: #303030; }
.ma-status-success[b-ol46rhqcn6] { background: #28a745; }
.ma-status-secondary[b-ol46rhqcn6] { background: #6c757d; }
.ma-status-danger[b-ol46rhqcn6] { background: #dc3545; }

/* ── Body ── */
.ma-body[b-ol46rhqcn6] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 16px;
}

/* ── Info card ── */
.ma-info-card[b-ol46rhqcn6] {
    background: #fff;
    margin: 12px;
    border-radius: 10px;
    border: 1px solid #e5e0d9;
    overflow: hidden;
}

.ma-info-row[b-ol46rhqcn6] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #f5f5f5;
    font-size: 0.85rem;
}

.ma-info-row:last-child[b-ol46rhqcn6] {
    border-bottom: none;
}

.ma-info-row i[b-ol46rhqcn6] {
    color: #999;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}

.ma-patient-link[b-ol46rhqcn6] {
    font-weight: 600;
    color: #9d88d3;
    text-decoration: none;
}

/* ── Sections ── */
.ma-section[b-ol46rhqcn6] {
    margin: 0 12px 12px;
    padding: 12px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e5e0d9;
}

.ma-section-header[b-ol46rhqcn6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.ma-add-service[b-ol46rhqcn6] {
    padding: 8px 0;
}

/* ── Service accordion ── */
.ma-service-card[b-ol46rhqcn6] {
    border: 1px solid #e5e0d9;
    border-radius: 8px;
    margin-bottom: 6px;
    overflow: hidden;
}

.ma-service-header[b-ol46rhqcn6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    font-size: 0.85rem;
}

.ma-service-header:active[b-ol46rhqcn6] {
    background: #f8f6fc;
}

.ma-service-body[b-ol46rhqcn6] {
    padding: 8px 12px 12px;
    border-top: 1px solid #f0f0f0;
    background: #fafafa;
}
/* _content/ClinicApp/Components/Pages/Mobile/MobileBook.razor.rz.scp.css */
.mb-container[b-sre9r0wyud] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* ── Progress ── */
.mb-progress[b-sre9r0wyud] {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    background: #fff;
    border-bottom: 1px solid #e5e0d9;
    flex-shrink: 0;
}

.mb-dot[b-sre9r0wyud] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ddd;
    transition: all 0.2s;
}

.mb-dot.active[b-sre9r0wyud] {
    background: #9d88d3;
    transform: scale(1.3);
}

.mb-dot.done[b-sre9r0wyud] {
    background: #9d88d3;
}

/* ── Step content ── */
.mb-step[b-sre9r0wyud] {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    -webkit-overflow-scrolling: touch;
}

.mb-step-title[b-sre9r0wyud] {
    font-size: 1.1rem;
    margin-bottom: 16px;
    color: #303030;
}

/* ── Footer ── */
.mb-footer[b-sre9r0wyud] {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    background: #fff;
    border-top: 1px solid #e5e0d9;
    flex-shrink: 0;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}

.mb-btn[b-sre9r0wyud] {
    flex: 1;
    min-height: 44px;
    font-size: 0.95rem;
}

/* ── Search & Results ── */
.mb-search[b-sre9r0wyud] {
    font-size: 1rem;
    height: 48px;
    border-radius: 10px;
}

.mb-results[b-sre9r0wyud] {
    display: flex;
    flex-direction: column;
    margin-top: 4px;
    border: 1px solid #e5e0d9;
    border-radius: 10px;
    overflow: hidden;
    max-height: 300px;
    overflow-y: auto;
}

.mb-result-item[b-sre9r0wyud] {
    display: block;
    width: 100%;
    text-align: left;
    border: none;
    background: #fff;
    padding: 14px 16px;
    font-size: 0.9rem;
    border-bottom: 1px solid #f0f0f0;
    -webkit-tap-highlight-color: transparent;
}

.mb-result-item:active[b-sre9r0wyud] {
    background: #f8f6fc;
}

.mb-result-create[b-sre9r0wyud] {
    color: #28a745;
}

.mb-selected-badge[b-sre9r0wyud] {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    background: #e8f5e9;
    border-radius: 8px;
    margin-top: 8px;
    font-size: 0.9rem;
}

.mb-create-card[b-sre9r0wyud] {
    border: 1px solid #28a745;
    border-radius: 10px;
    padding: 14px;
    margin-top: 8px;
    background: #f8fff8;
}

/* ── Service chips ── */
.mb-chips[b-sre9r0wyud] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}

.mb-chip[b-sre9r0wyud] {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #f0ecf8;
    border: 1px solid #d5cce6;
    border-radius: 20px;
    padding: 6px 12px;
    font-size: 0.8rem;
}

.mb-chip-remove[b-sre9r0wyud] {
    border: none;
    background: none;
    color: #999;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0 2px;
    cursor: pointer;
}

.mb-total-bar[b-sre9r0wyud] {
    font-size: 0.8rem;
    color: #666;
    padding: 6px 0;
    margin-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
}

/* ── Month calendar ── */
.mb-month-nav[b-sre9r0wyud] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
}

.mb-month-nav button[b-sre9r0wyud] {
    border: none;
    background: none;
    padding: 8px 12px;
    color: #666;
    font-size: 1rem;
}

.mb-month-grid[b-sre9r0wyud] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    text-align: center;
}

.mb-mh[b-sre9r0wyud] {
    font-size: 0.65rem;
    color: #999;
    padding: 4px;
    font-weight: 600;
}

.mb-mc[b-sre9r0wyud] {
    border: none;
    background: none;
    padding: 8px 4px;
    font-size: 0.85rem;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
}

.mb-mc:disabled[b-sre9r0wyud] {
    color: #ccc;
}

.mb-mc-today[b-sre9r0wyud] {
    border: 2px solid #9d88d3;
}

.mb-mc-sel[b-sre9r0wyud] {
    background: #9d88d3;
    color: #fff !important;
}

.mb-mc-busy[b-sre9r0wyud] {
    color: #9d88d3;
    font-weight: 700;
}

.mb-mc-full[b-sre9r0wyud] {
    color: #ccc;
    text-decoration: line-through;
}

/* ── Time slots ── */
.mb-time-grid[b-sre9r0wyud] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.mb-time-slot[b-sre9r0wyud] {
    border: 1px solid #e5e0d9;
    background: #fff;
    border-radius: 8px;
    padding: 10px 4px;
    font-size: 0.85rem;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    transition: all 0.12s;
}

.mb-time-slot:active:not(:disabled)[b-sre9r0wyud] {
    background: #f0ecf8;
}

.mb-ts-sel[b-sre9r0wyud] {
    background: #9d88d3 !important;
    color: #fff !important;
    border-color: #9d88d3 !important;
}

.mb-ts-busy[b-sre9r0wyud] {
    background: #f5f5f5;
    color: #ccc;
    border-color: #eee;
}

/* ── Review card ── */
.mb-review-card[b-sre9r0wyud] {
    background: #fff;
    border: 1px solid #e5e0d9;
    border-radius: 10px;
    overflow: hidden;
}

.mb-review-row[b-sre9r0wyud] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 14px;
    border-bottom: 1px solid #f5f5f5;
    font-size: 0.85rem;
    gap: 12px;
}

.mb-review-row:last-child[b-sre9r0wyud] {
    border-bottom: none;
}

.mb-review-row > span:first-child[b-sre9r0wyud] {
    flex-shrink: 0;
    min-width: 70px;
}

.mb-review-row > strong[b-sre9r0wyud],
.mb-review-row > div[b-sre9r0wyud] {
    text-align: right;
}
/* _content/ClinicApp/Components/Pages/Mobile/MobileCalendar.razor.rz.scp.css */
.mc-container[b-qhtx63zv3b] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* ── Week strip ── */
.mc-week-strip[b-qhtx63zv3b] {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 8px 4px;
    background: #fff;
    border-bottom: 1px solid #e5e0d9;
    overflow-x: auto;
    flex-shrink: 0;
}

.mc-week-nav[b-qhtx63zv3b] {
    border: none;
    background: none;
    color: #666;
    padding: 8px;
    font-size: 0.9rem;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
}

.mc-day-bubble[b-qhtx63zv3b] {
    flex: 1;
    min-width: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 2px;
    border: none;
    background: none;
    border-radius: 12px;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.15s;
}

.mc-day-bubble:active[b-qhtx63zv3b] {
    background: #f0ecf8;
}

.mc-day-name[b-qhtx63zv3b] {
    font-size: 0.6rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mc-day-num[b-qhtx63zv3b] {
    font-size: 0.95rem;
    font-weight: 600;
    color: #303030;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.mc-today .mc-day-num[b-qhtx63zv3b] {
    border: 2px solid #9d88d3;
}

.mc-selected .mc-day-num[b-qhtx63zv3b] {
    background: #9d88d3;
    color: #fff;
}

.mc-today.mc-selected .mc-day-num[b-qhtx63zv3b] {
    border-color: #9d88d3;
}

/* ── Date heading ── */
.mc-heading[b-qhtx63zv3b] {
    padding: 12px 16px 4px;
    font-size: 0.85rem;
    flex-shrink: 0;
}

/* ── Timeline ── */
.mc-timeline[b-qhtx63zv3b] {
    flex: 1;
    overflow-y: auto;
    padding: 8px 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mc-card[b-qhtx63zv3b] {
    display: flex;
    align-items: stretch;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e5e0d9;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: box-shadow 0.15s;
    min-height: 60px;
}

.mc-card:active[b-qhtx63zv3b] {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.mc-card-time[b-qhtx63zv3b] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    background: #f8f6fc;
    min-width: 60px;
    border-right: 1px solid #e5e0d9;
    font-size: 0.85rem;
}

.mc-time-end[b-qhtx63zv3b] {
    font-size: 0.7rem;
    color: #999;
}

.mc-card-body[b-qhtx63zv3b] {
    flex: 1;
    padding: 8px 12px;
    min-width: 0;
}

.mc-card-patient[b-qhtx63zv3b] {
    font-weight: 600;
    font-size: 0.9rem;
    color: #303030;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mc-card-services[b-qhtx63zv3b] {
    font-size: 0.75rem;
    color: #888;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
}

.mc-card-meta[b-qhtx63zv3b] {
    display: flex;
    gap: 8px;
    font-size: 0.7rem;
    color: #aaa;
    margin-top: 4px;
}

.mc-card-status[b-qhtx63zv3b] {
    display: flex;
    align-items: center;
    padding: 0 10px;
    flex-shrink: 0;
}

.mc-card-status .badge[b-qhtx63zv3b] {
    font-size: 0.65rem;
    white-space: nowrap;
}

/* ── Empty state ── */
.mc-empty[b-qhtx63zv3b] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #bbb;
    padding: 40px;
}

.mc-empty i[b-qhtx63zv3b] {
    font-size: 2.5rem;
    margin-bottom: 8px;
}

.mc-empty p[b-qhtx63zv3b] {
    font-size: 0.9rem;
    margin: 0;
}
/* _content/ClinicApp/Components/Pages/Mobile/MobileMore.razor.rz.scp.css */
.mm-container[b-133eylm410] {
    padding: 16px;
}

.mm-profile[b-133eylm410] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e0d9;
    margin-bottom: 16px;
}

.mm-avatar[b-133eylm410] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #9d88d3;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 700;
    flex-shrink: 0;
}

.mm-name[b-133eylm410] {
    font-weight: 600;
    font-size: 1rem;
    color: #303030;
}

.mm-role[b-133eylm410] {
    font-size: 0.8rem;
    color: #888;
}

.mm-section[b-133eylm410] {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e5e0d9;
    overflow: hidden;
    margin-bottom: 16px;
}

.mm-link[b-133eylm410] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    text-decoration: none;
    color: #303030;
    font-size: 0.9rem;
    -webkit-tap-highlight-color: transparent;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.mm-link:last-child[b-133eylm410] {
    border-bottom: none;
}

.mm-link:active[b-133eylm410] {
    background: #f8f6fc;
}

.mm-link i[b-133eylm410] {
    color: #999;
    width: 20px;
    text-align: center;
}

.mm-logout[b-133eylm410] {
    color: #dc3545;
}

.mm-logout i[b-133eylm410] {
    color: #dc3545;
}
/* _content/ClinicApp/Components/Pages/Mobile/MobileNotifications.razor.rz.scp.css */
.mn-container[b-2k99dhhmov] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.mn-header[b-2k99dhhmov] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: #fff;
    border-bottom: 1px solid #e5e0d9;
    flex-shrink: 0;
}

.mn-header h5[b-2k99dhhmov] {
    margin: 0;
    font-size: 1rem;
}

.mn-list[b-2k99dhhmov] {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.mn-item[b-2k99dhhmov] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    background: #fff;
    -webkit-tap-highlight-color: transparent;
}

.mn-item:active[b-2k99dhhmov] {
    background: #f8f6fc;
}

.mn-item.mn-read[b-2k99dhhmov] {
    background: #faf9f7;
    opacity: 0.7;
}

.mn-icon[b-2k99dhhmov] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e0f7fa;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #17a2b8;
}

.mn-content[b-2k99dhhmov] {
    flex: 1;
    min-width: 0;
}

.mn-title[b-2k99dhhmov] {
    font-size: 0.9rem;
    color: #303030;
}

.mn-detail[b-2k99dhhmov] {
    font-size: 0.8rem;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mn-time[b-2k99dhhmov] {
    font-size: 0.7rem;
    color: #aaa;
    margin-top: 2px;
}

.mn-unread-dot[b-2k99dhhmov] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #9d88d3;
    flex-shrink: 0;
}

.mn-empty[b-2k99dhhmov] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #bbb;
    padding: 40px;
}

.mn-empty i[b-2k99dhhmov] {
    font-size: 2.5rem;
    margin-bottom: 8px;
}

.mn-empty p[b-2k99dhhmov] {
    font-size: 0.9rem;
    margin: 0 0 4px;
}
/* _content/ClinicApp/Components/Shared/CheckInToast.razor.rz.scp.css */
.checkin-toast-container[b-qo4hjdcsb6] {
    position: fixed;
    top: 56px;
    left: 8px;
    right: 8px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.checkin-toast[b-qo4hjdcsb6] {
    background: #fff;
    border: 1px solid #e5e0d9;
    border-left: 4px solid #17a2b8;
    border-radius: 8px;
    padding: 12px 16px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    cursor: pointer;
    pointer-events: all;
    animation: slideIn-b-qo4hjdcsb6 0.3s ease-out;
}

.checkin-toast-title[b-qo4hjdcsb6] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #17a2b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.checkin-toast-body[b-qo4hjdcsb6] {
    font-size: 0.9rem;
    color: #303030;
}

@keyframes slideIn-b-qo4hjdcsb6 {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
