/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-nqag990z7f] {
    position: relative;
    display: flex;
    flex-direction: column;
}

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

.sidebar[b-nqag990z7f] {
    background-image: linear-gradient(180deg, #2c2c2c 0%, #111111 100%);
}

.top-row[b-nqag990z7f] {
    background-color: var(--bs-tertiary-bg);
    border-bottom: 1px solid var(--bs-border-color);
    justify-content: flex-start;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

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

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

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

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

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

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

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

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

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

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

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

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

.bi[b-vsa714xjf5] {
    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-vsa714xjf5] {
    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-people-fill-nav-menu[b-vsa714xjf5] {
    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='M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/%3E%3Cpath fill-rule='evenodd' d='M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z'/%3E%3Cpath d='M4.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-event-fill-nav-menu[b-vsa714xjf5] {
    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 .5a.5.5 0 0 0-1 0V1H2A2 2 0 0 0 0 3v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
}

.bi-bell-fill-nav-menu[b-vsa714xjf5] {
    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 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z'/%3E%3C/svg%3E");
}

.bi-tools-nav-menu[b-vsa714xjf5] {
    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 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.27 3.27a.997.997 0 0 0 1.414 0l1.586-1.586a.997.997 0 0 0 0-1.414l-3.27-3.27a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3c0-.269-.035-.53-.102-.777l-2.14 2.141-1.86-1.86 2.141-2.14A3 3 0 0 0 13 0a3.005 3.005 0 0 0-2.986 2.68L7.29 5.407 4.99 3.107a1 1 0 0 1-.293-.708v-.07a1 1 0 0 0-.419-.814L1 0zm7.5 8.5.994.993-.082.244-.75 2.25L11 14.5l1.586-1.586-2.25-.75-.244.082-.993-.994 2.036-2.067.674.674.082-.244.75-2.25L11 5.5 9.414 7.086l2.25.75.244-.082.993.994L10.865 10.8 8.5 8.5z'/%3E%3C/svg%3E");
}

.bi-calendar3-nav-menu[b-vsa714xjf5] {
    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='M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z'/%3E%3Cpath d='M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z'/%3E%3C/svg%3E");
}

.bi-bar-chart-fill-nav-menu[b-vsa714xjf5] {
    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 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z'/%3E%3C/svg%3E");
}

.bi-gear-fill-nav-menu[b-vsa714xjf5] {
    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='M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z'/%3E%3C/svg%3E");
}

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

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

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

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

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

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

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

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

    .nav-scrollable[b-vsa714xjf5] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

.bi-receipt-nav-menu[b-vsa714xjf5] {
    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-.27zm.217 1.338L2 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-.51-.137.274zM3 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-.5h4a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 1 1 0 1h-2a.5.5 0 0 1-.5-.5zm9-6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zm0 5a.5.5 0 1 1 0 1 .5.5 0 0 1 0-1z'/%3E%3C/svg%3E");
}

.bi-shield-fill-nav-menu[b-vsa714xjf5] {
    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='M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524z'/%3E%3C/svg%3E");
}
/* /Pages/AppointmentEdit.razor.rz.scp.css */
.edit-map[b-nmggfeldow] {
    width: 100%;
    height: 300px;
    border: none;
    border-radius: 6px;
    display: block;
}

.svc-toggle[b-nmggfeldow] {
    border-width: 2px;
    font-weight: 500;
    transition: background-color 0.15s, color 0.15s;
}
/* /Pages/Appointments.razor.rz.scp.css */
/* Clickable appointment rows */
.appt-row[b-ng4gf0f5n3] {
    cursor: pointer;
}

/* Embedded map in the edit form */
.appt-map[b-ng4gf0f5n3] {
    width: 100%;
    height: 280px;
    border: none;
    border-radius: 6px;
    display: block;
}

/* Travel time row between consecutive appointments */
.travel-row td[b-ng4gf0f5n3] {
    padding: 2px 12px;
    background: transparent;
    border: none;
}
.travel-label[b-ng4gf0f5n3] {
    font-size: 0.8rem;
    color: #6c757d;
}

/* Coloured service badge in the appointments table */
.svc-badge[b-ng4gf0f5n3] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.78rem;
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
}
/* /Pages/Calendar.razor.rz.scp.css */
/* ── Grid ── */
.cal-grid[b-ossezc6i4r] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    overflow: hidden;
}

.cal-day-name[b-ossezc6i4r] {
    background-color: var(--bs-tertiary-bg);
    text-align: center;
    padding: 0.5rem 0.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--bs-border-color);
}

/* ── Cells ── */
.cal-cell[b-ossezc6i4r] {
    min-height: 100px;
    padding: 0.35rem;
    border-right: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
    cursor: pointer;
    transition: background-color 0.1s;
    overflow: hidden;
}

.cal-cell:nth-child(7n + 14)[b-ossezc6i4r] { /* last column (Sunday) — skip 7 header cells, then every 7th */
    border-right: none;
}

.cal-cell:hover[b-ossezc6i4r] { background-color: var(--bs-secondary-bg); }
.cal-cell.cal-selected[b-ossezc6i4r] { background-color: var(--bs-primary-bg-subtle); }
.cal-cell.cal-other-month[b-ossezc6i4r] { opacity: 0.38; }

/* Today's date number gets a filled circle */
.cal-cell.cal-today .cal-num[b-ossezc6i4r] {
    background-color: var(--bs-primary);
    color: #fff;
    border-radius: 50%;
    width: 1.6rem;
    height: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cal-num[b-ossezc6i4r] {
    font-size: 0.82rem;
    font-weight: 500;
    margin-bottom: 0.2rem;
    width: 1.6rem;
    height: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Appointment pills ── */
.cal-pill[b-ossezc6i4r] {
    font-size: 0.68rem;
    line-height: 1.3;
    padding: 1px 4px;
    border-radius: 3px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #fff;
}

.cal-pill-scheduled[b-ossezc6i4r] { background-color: #0d6efd; }
.cal-pill-completed[b-ossezc6i4r]  { background-color: #198754; }
.cal-pill-cancelled[b-ossezc6i4r]  { background-color: #6c757d; }

.cal-more[b-ossezc6i4r] {
    font-size: 0.68rem;
    color: var(--bs-secondary-color);
    padding-left: 2px;
}

/* Embedded map in day-detail panel */
.cal-map[b-ossezc6i4r] {
    width: 100%;
    height: 220px;
    border: none;
    border-radius: 6px;
    display: block;
    margin-top: 4px;
}

/* Colour dot in day-detail list */
.cal-dot[b-ossezc6i4r] {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,0.15);
}

/* ── Day detail panel ── */
.cal-detail[b-ossezc6i4r] {
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color) !important;
}

/* ── Range-select mode ── */
.cal-range-hint[b-ossezc6i4r] {
    font-size: 0.875rem;
    border-radius: 6px;
}

/* In range-select mode, all cells use a crosshair cursor */
.cal-grid.cal-range-mode .cal-cell[b-ossezc6i4r] {
    cursor: crosshair;
}

/* Start anchor */
.cal-cell.cal-range-start[b-ossezc6i4r] {
    outline: 2px solid #6f42c1;
    outline-offset: -2px;
}

/* Days in the hover preview */
.cal-cell.cal-range-preview[b-ossezc6i4r] {
    background-color: color-mix(in srgb, #6f42c1 20%, var(--bs-body-bg)) !important;
}

.cal-cell.cal-range-preview .cal-num[b-ossezc6i4r] {
    color: #a78bfa;
}

/* Range summary row in modal */
.cal-range-summary[b-ossezc6i4r] {
    background: var(--bs-tertiary-bg);
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 0.9rem;
}

/* ── Blocked day styles (month view) ── */
.cal-cell.cal-blocked[b-ossezc6i4r] {
    background-color: color-mix(in srgb, #6f42c1 10%, transparent);
}

.cal-block-pill[b-ossezc6i4r] {
    font-size: 0.62rem;
    line-height: 1.3;
    padding: 1px 4px;
    border-radius: 3px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 600;
    color: #fff;
}

.cal-block-leave[b-ossezc6i4r] {
    background-color: #6f42c1;   /* purple — clearly "away" */
}

.cal-block-unavail[b-ossezc6i4r] {
    background-color: #dc3545;   /* red — clearly "not available" */
}

/* ═══════════════════════════════════════════════════
   Week / Day time-grid views  (.tg-*)
   ═══════════════════════════════════════════════════ */

/* Outer wrapper constrains height and hides overflow */
.tg-wrap[b-ossezc6i4r] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    overflow: hidden;
}

/* ── Header row (day names + dates) ── */
.tg-header[b-ossezc6i4r] {
    display: grid;
    background-color: var(--bs-tertiary-bg);
    border-bottom: 1px solid var(--bs-border-color);
    position: sticky;
    top: 0;
    z-index: 10;
}

.tg-col-head[b-ossezc6i4r] {
    text-align: center;
    padding: 0.4rem 0.25rem;
    border-left: 1px solid var(--bs-border-color);
}

.tg-col-weekday[b-ossezc6i4r] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-secondary-color);
}

.tg-col-date[b-ossezc6i4r] {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.6;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    border-radius: 50%;
}

.tg-today-head[b-ossezc6i4r] { /* header cell for today */ }

.tg-today-num[b-ossezc6i4r] {
    background-color: var(--bs-primary);
    color: #fff;
}

/* ── Scrollable body ── */
.tg-body-scroll[b-ossezc6i4r] {
    overflow-y: auto;
    max-height: 680px;
}

/* Body grid – same column template as header, applied via inline style */
.tg-body[b-ossezc6i4r] {
    display: grid;
    position: relative;
}

/* ── Time-label column ── */
.tg-times[b-ossezc6i4r] {
    position: relative;
    /* height is driven by the day columns; min ensures labels show */
}

.tg-time-label[b-ossezc6i4r] {
    position: absolute;
    right: 6px;
    font-size: 0.68rem;
    color: var(--bs-secondary-color);
    line-height: 1;
    transform: translateY(-50%);
    white-space: nowrap;
    user-select: none;
}

/* ── Day columns ── */
.tg-day-col[b-ossezc6i4r] {
    position: relative;
    border-left: 1px solid var(--bs-border-color);
    /* height comes from child absolutely-positioned elements */
    min-height: calc(13 * 80px); /* (DayEnd-DayStart) × HourPx; matches Razor constants */
}

.tg-today-col[b-ossezc6i4r] {
    background-color: color-mix(in srgb, var(--bs-primary) 6%, transparent);
}

/* ── Hour / half-hour lines ── */
.tg-hour-line[b-ossezc6i4r],
.tg-half-line[b-ossezc6i4r] {
    position: absolute;
    left: 0;
    right: 0;
    pointer-events: none;
}

.tg-hour-line[b-ossezc6i4r] {
    border-top: 1px solid var(--bs-border-color);
    z-index: 1;
}

.tg-half-line[b-ossezc6i4r] {
    border-top: 1px dashed var(--bs-border-color);
    opacity: 0.5;
    z-index: 1;
}

/* ── Appointment blocks ── */
.tg-appt[b-ossezc6i4r] {
    position: absolute;
    left: 2px;
    right: 2px;
    border-radius: 4px;
    padding: 2px 5px;
    overflow: hidden;
    font-size: 0.72rem;
    line-height: 1.3;
    color: #fff;
    z-index: 5;
    cursor: default;
    box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}

/* Reuse the same colour classes as month pills */
.tg-appt.cal-pill-scheduled[b-ossezc6i4r] { background-color: #0d6efd; }
.tg-appt.cal-pill-completed[b-ossezc6i4r]  { background-color: #198754; }
.tg-appt.cal-pill-cancelled[b-ossezc6i4r]  { background-color: #6c757d; }

/* ── Blocked day styles (week/day view) ── */
.tg-head-leave[b-ossezc6i4r]   { background-color: color-mix(in srgb, #6f42c1 18%, var(--bs-tertiary-bg)); }
.tg-head-unavail[b-ossezc6i4r] { background-color: color-mix(in srgb, #dc3545 14%, var(--bs-tertiary-bg)); }

.tg-block-tag[b-ossezc6i4r] {
    font-size: 0.62rem;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 3px;
    margin-top: 2px;
    display: inline-block;
}

.tg-block-leave[b-ossezc6i4r]   { background-color: #6f42c1; color: #fff; }
.tg-block-unavail[b-ossezc6i4r] { background-color: #dc3545; color: #fff; }

.tg-block-remove[b-ossezc6i4r],
.tg-block-add[b-ossezc6i4r] {
    font-size: 0.62rem;
    display: block;
    text-decoration: none;
    opacity: 0.6;
    margin-top: 2px;
}

.tg-block-add:hover[b-ossezc6i4r] { opacity: 1; }
.tg-block-remove:hover[b-ossezc6i4r] { opacity: 1; }

.tg-col-leave[b-ossezc6i4r]   { background-color: color-mix(in srgb, #6f42c1 8%, transparent) !important; }
.tg-col-unavail[b-ossezc6i4r] { background-color: color-mix(in srgb, #dc3545 8%, transparent) !important; }

.tg-blocked-overlay[b-ossezc6i4r] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    pointer-events: none;
    z-index: 3;
    font-size: 0.75rem;
    font-weight: 600;
    opacity: 0.45;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 0.05em;
}

.tg-overlay-leave[b-ossezc6i4r]   { color: #a78bfa; }   /* lighter purple so it shows on dark bg */
.tg-overlay-unavail[b-ossezc6i4r] { color: #f87171; }   /* lighter red so it shows on dark bg */

.tg-overlay-note[b-ossezc6i4r] {
    font-size: 0.65rem;
    font-weight: 400;
    opacity: 0.8;
}

.tg-appt-time[b-ossezc6i4r] {
    font-size: 0.65rem;
    opacity: 0.88;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tg-appt-name[b-ossezc6i4r] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tg-appt-service[b-ossezc6i4r] {
    font-size: 0.65rem;
    opacity: 0.82;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Pages/CertificateEdit.razor.rz.scp.css */
.checklist-table th[b-6o8ihfmhfc], .checklist-table td[b-6o8ihfmhfc] {
    font-size: 0.875rem;
}

.cert-totals-preview td[b-6o8ihfmhfc] {
    padding: 2px 0;
    font-size: 0.95rem;
}

/* ── Print layout ─────────────────────────────────────────────── */

@media print {
    body[b-6o8ihfmhfc] { background: white !important; color: black !important; }
}

.cert-doc[b-6o8ihfmhfc] {
    font-family: Arial, sans-serif;
    font-size: 10pt;
    color: #000;
    border: 2px solid #333;
    padding: 8px;
    max-width: 210mm;
    margin: 0 auto;
}

/* Simplified header: just the certificate identity fields */
.cert-header-simple[b-6o8ihfmhfc] {
    display: flex;
    justify-content: flex-end;
    border-bottom: 1px solid #333;
    padding-bottom: 6px;
    margin-bottom: 6px;
}

.cert-meta table td[b-6o8ihfmhfc] { padding: 1px 4px; font-size: 9pt; }
.cert-customer table td[b-6o8ihfmhfc] { padding: 1px 4px; font-size: 9pt; }

/* Two chimney columns */
.cert-chimneys[b-6o8ihfmhfc] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    border-bottom: 1px solid #333;
    padding-bottom: 6px;
    margin-bottom: 6px;
}

.cert-chimney[b-6o8ihfmhfc] { border: 1px solid #ccc; padding: 4px; }

.cert-table[b-6o8ihfmhfc] { width: 100%; }
.cert-table td[b-6o8ihfmhfc] { padding: 1px 3px; font-size: 9pt; }
.cert-table td:first-child[b-6o8ihfmhfc] { font-weight: bold; white-space: nowrap; }

.cert-next-sweep[b-6o8ihfmhfc] {
    background: #f0f0f0;
    border: 1px solid #333;
    padding: 3px 6px;
    margin: 4px 0;
    font-size: 9pt;
    font-weight: bold;
    text-align: center;
}

.cert-checklist[b-6o8ihfmhfc] { border-collapse: collapse; }
.cert-checklist td[b-6o8ihfmhfc] { border: 1px solid #ccc; padding: 2px 4px; font-size: 8.5pt; }
.cert-checklist td:last-child[b-6o8ihfmhfc] { text-align: center; font-weight: bold; width: 30px; }

.cert-price[b-6o8ihfmhfc] {
    font-weight: bold;
    text-align: right;
    margin-top: 4px;
    font-size: 10pt;
}

.cert-footer[b-6o8ihfmhfc] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.cert-extras[b-6o8ihfmhfc] { flex: 1; font-size: 9pt; }
.cert-notes[b-6o8ihfmhfc]  { margin-top: 4px; font-size: 8.5pt; }

.cert-totals table td[b-6o8ihfmhfc] { padding: 1px 6px; font-size: 9pt; text-align: right; }
.cert-totals table td:first-child[b-6o8ihfmhfc] { text-align: left; border-top: none; }

/* ── Photo grid (edit form) ── */
.photo-grid[b-6o8ihfmhfc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
}

.photo-thumb-wrap[b-6o8ihfmhfc] {
    display: flex;
    flex-direction: column;
}

.photo-thumb[b-6o8ihfmhfc] {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--bs-border-color);
}

/* ── Photos in print layout ── */
.cert-photos-print[b-6o8ihfmhfc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80mm, 1fr));
    gap: 6px;
    margin-top: 6px;
    border-top: 1px solid #333;
    padding-top: 6px;
}

.cert-photo-item img[b-6o8ihfmhfc] {
    width: 100%;
    max-height: 60mm;
    object-fit: cover;
    border: 1px solid #ccc;
}

.cert-photo-caption[b-6o8ihfmhfc] {
    font-size: 7.5pt;
    text-align: center;
    color: #555;
    margin-top: 2px;
}
/* /Pages/Reports.razor.rz.scp.css */
.report-label[b-ahiudpswgc] {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--bs-secondary-color);
    margin-bottom: 4px;
}

.report-value[b-ahiudpswgc] {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
}

.report-sub[b-ahiudpswgc] {
    font-size: 0.8rem;
    color: var(--bs-secondary-color);
    margin-top: 2px;
}

/* ── Bar chart ── */
.monthly-chart[b-ahiudpswgc] {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: 120px;
    margin-bottom: 8px;
}

.month-bar-wrap[b-ahiudpswgc] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    cursor: default;
}

.month-bar-track[b-ahiudpswgc] {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: flex-end;
}

.month-bar[b-ahiudpswgc] {
    width: 100%;
    background: var(--bs-primary);
    border-radius: 3px 3px 0 0;
    min-height: 2px;
    transition: height 0.3s ease;
}

.month-bar-wrap:hover .month-bar[b-ahiudpswgc] {
    filter: brightness(1.2);
}

.month-label[b-ahiudpswgc] {
    font-size: 0.65rem;
    color: var(--bs-secondary-color);
    margin-top: 3px;
    white-space: nowrap;
}
/* /Pages/Services.razor.rz.scp.css */
/* Colour dot shown next to each service name */
.svc-dot[b-odjn3stwne] {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
}

/* Make the native colour picker a reasonable size */
.form-control-color[b-odjn3stwne] {
    width: 3rem;
    height: 2.25rem;
    padding: 0.2rem;
    cursor: pointer;
}
/* /Pages/Settings.razor.rz.scp.css */
.logo-preview[b-mg0mk4ll9k] {
    max-height: 120px;
    max-width: 240px;
    object-fit: contain;
    border: 1px solid var(--bs-border-color);
    border-radius: 4px;
    padding: 6px;
    background: #fff;
}
