/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-12p213t632] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-12p213t632] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-mtu4p25i1c],
.components-reconnect-repeated-attempt-visible[b-mtu4p25i1c],
.components-reconnect-failed-visible[b-mtu4p25i1c],
.components-pause-visible[b-mtu4p25i1c],
.components-resume-failed-visible[b-mtu4p25i1c],
.components-rejoining-animation[b-mtu4p25i1c] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-retrying[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-failed[b-mtu4p25i1c],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-mtu4p25i1c] {
    display: block;
}


#components-reconnect-modal[b-mtu4p25i1c] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-mtu4p25i1c 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-mtu4p25i1c 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-mtu4p25i1c 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-mtu4p25i1c]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-mtu4p25i1c 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-mtu4p25i1c {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-mtu4p25i1c {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-mtu4p25i1c {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-mtu4p25i1c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-mtu4p25i1c] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-mtu4p25i1c] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-mtu4p25i1c] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-mtu4p25i1c] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-mtu4p25i1c] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-mtu4p25i1c] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-mtu4p25i1c 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-mtu4p25i1c] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-mtu4p25i1c {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Agenda.razor.rz.scp.css */
/* ── Page wrapper ── */
.agenda-wrap[b-e5s744j3qh] {
    width: 92%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 0 60px;
}

/* ── Header ── */
.agenda-header[b-e5s744j3qh] { margin-bottom: 28px; }

.agenda-title-row[b-e5s744j3qh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 4px;
}

.agenda-header h1[b-e5s744j3qh] {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    color: #333;
}

.agenda-sub[b-e5s744j3qh] {
    margin: 0;
    font-size: 14px;
    color: #888;
    text-transform: capitalize;
}

/* ── Month picker ── */
.month-picker[b-e5s744j3qh] { display: flex; align-items: center; gap: 6px; }

.month-input[b-e5s744j3qh] {
    padding: 7px 12px;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    color: #333;
    background: #fafafa;
    cursor: pointer;
    transition: border-color .2s;
}

.month-input:focus[b-e5s744j3qh] {
    outline: none;
    border-color: #16a34a;
    box-shadow: 0 0 0 3px rgba(22,163,74,.08);
}

.month-nav[b-e5s744j3qh] {
    width: 32px;
    height: 32px;
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-size: 20px;
    line-height: 1;
    color: #555;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: border-color .2s, color .2s;
}

.month-nav:hover[b-e5s744j3qh] { border-color: #16a34a; color: #16a34a; }

/* ── Calendar card ── */
.cal-card[b-e5s744j3qh], .detail-card[b-e5s744j3qh] {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 0 7px rgba(0,0,0,.07);
    padding: 24px 20px;
    margin-bottom: 20px;
}

/* ── 7-column grid ── */
.cal-grid[b-e5s744j3qh] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

/* ── Header row ── */
.cal-header-cell[b-e5s744j3qh] {
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #888;
    padding: 8px 4px 10px;
    border-bottom: 2px solid #e2e2e2;
}

/* ── Day cells ── */
.cal-cell[b-e5s744j3qh] {
    min-height: 88px;
    border: 1px solid #ebebeb;
    border-radius: 4px;
    padding: 6px 5px 5px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: #fafafa;
}

.cal-cell:hover[b-e5s744j3qh] { border-color: #16a34a; background: #f0fdf4; }

.cal-cell--empty[b-e5s744j3qh] {
    border-color: transparent;
    background: transparent;
    cursor: default;
    pointer-events: none;
}

.cal-cell--today[b-e5s744j3qh]  { border-color: #16a34a; background: #f0fdf4; }
.cal-cell--selected[b-e5s744j3qh] {
    border-color: #15803d;
    background: #f0fdf4;
    box-shadow: 0 0 0 2px rgba(22,163,74,.20);
}

/* ── Day number ── */
.cal-day-num[b-e5s744j3qh] {
    font-size: 13px;
    font-weight: 700;
    color: #555;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.cal-day-num--today[b-e5s744j3qh] {
    background: #16a34a;
    color: #fff;
}

/* ── Chips ── */
.cal-chips[b-e5s744j3qh] { display: flex; flex-direction: column; gap: 2px; }

.cal-chip[b-e5s744j3qh] {
    display: block;
    background: #dcfce7;
    color: #15803d;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.4;
}

.cal-chip--more[b-e5s744j3qh] { background: #e9e9e9; color: #666; }

/* ── Detail panel ── */

.no-items[b-e5s744j3qh] { color: #888; font-size: 14px; font-style: italic; margin: 0; }

.detail-list[b-e5s744j3qh] { display: flex; flex-direction: column; gap: 10px; }

.detail-row[b-e5s744j3qh] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid #ebebeb;
    border-radius: 4px;
    background: #fafafa;
    transition: border-color .15s, background .15s;
}

.detail-row:hover[b-e5s744j3qh] { border-color: #16a34a; background: #f0fdf4; }

.detail-chip[b-e5s744j3qh] {
    display: inline-block;
    background: #dcfce7;
    color: #15803d;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    padding: 5px 12px;
    white-space: nowrap;
}

.detail-info[b-e5s744j3qh] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    font-size: 14px;
    color: #555;
}

.detail-client[b-e5s744j3qh] {
    font-weight: 700;
    color: #16a34a;
    text-decoration: none;
}
.detail-client:hover[b-e5s744j3qh] { text-decoration: underline; color: #15803d; }

.detail-preco[b-e5s744j3qh] { font-weight: 700; color: #333; }
.detail-obs[b-e5s744j3qh]   { color: #888; font-style: italic; font-size: 13px; }
.detail-hora[b-e5s744j3qh]  {
    display: inline-block;
    background: #fef9c3;
    color: #854d0e;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    margin-top: 4px;
}

/* ── Detail card header row ── */
.detail-card-header[b-e5s744j3qh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e2e2e2;
}
.detail-card-header h2[b-e5s744j3qh] {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 15px;
    font-weight: 700;
    color: #333;
    text-transform: capitalize;
}
.btn-nova[b-e5s744j3qh] {
    padding: 7px 16px;
    background: #16a34a;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s;
}
.btn-nova:hover[b-e5s744j3qh] { background: #15803d; }

/* ── Add-appointment form ── */
.add-form[b-e5s744j3qh] {
    margin-top: 20px;
    padding: 20px;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    background: #f9fafb;
}
.add-form h3[b-e5s744j3qh] {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 700;
    color: #555;
    text-transform: capitalize;
}
.add-form-grid[b-e5s744j3qh] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
}
.form-field[b-e5s744j3qh] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 180px;
    flex: 1;
}
.form-field--full[b-e5s744j3qh] { flex-basis: 100%; }
.form-field label[b-e5s744j3qh] {
    font-size: 12px;
    font-weight: 700;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.form-field input[b-e5s744j3qh],
.form-field select[b-e5s744j3qh],
.form-field textarea[b-e5s744j3qh] {
    padding: 8px 10px;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    background: #fff;
    color: #333;
    transition: border-color .2s, box-shadow .2s;
    box-sizing: border-box;
    width: 100%;
}
.form-field input:focus[b-e5s744j3qh],
.form-field select:focus[b-e5s744j3qh],
.form-field textarea:focus[b-e5s744j3qh] {
    outline: none;
    border-color: #16a34a;
    box-shadow: 0 0 0 3px rgba(22,163,74,.08);
}
.form-field textarea[b-e5s744j3qh] { resize: vertical; min-height: 60px; }
.form-note[b-e5s744j3qh] { margin: 4px 0 0; font-size: 13px; color: #888; font-style: italic; }

/* ── Search dropdown ── */
.search-wrap[b-e5s744j3qh] { position: relative; }
.search-dropdown[b-e5s744j3qh] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,.10);
    list-style: none;
    margin: 0;
    padding: 4px 0;
    max-height: 200px;
    overflow-y: auto;
}
.search-dropdown li[b-e5s744j3qh] {
    padding: 8px 14px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: background .15s;
}
.search-dropdown li:hover[b-e5s744j3qh],
.search-dropdown li:focus[b-e5s744j3qh] { background: #f0fdf4; color: #15803d; outline: none; }
.search-dropdown li[b-e5s744j3qh] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.dropdown-name[b-e5s744j3qh] { font-weight: 500; }
.dropdown-sub[b-e5s744j3qh]  { font-size: 12px; color: #6b7280; }

/* ── Detail row actions ── */
.detail-actions[b-e5s744j3qh] {
    margin-left: auto;
    display: flex;
    gap: 6px;
    flex-shrink: 0;
    align-items: flex-start;
}

.btn-edit-small[b-e5s744j3qh] {
    padding: 5px 10px;
    background: #fff;
    color: #374151;
    border: 1.5px solid #d1d5db;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Open Sans', Arial, sans-serif;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .2s, color .2s;
}
.btn-edit-small:hover[b-e5s744j3qh] { border-color: #16a34a; color: #15803d; }

.btn-delete-small[b-e5s744j3qh] {
    padding: 5px 10px;
    background: #fff;
    color: #dc2626;
    border: 1.5px solid #fca5a5;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Open Sans', Arial, sans-serif;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color .2s, background .2s, color .2s;
}
.btn-delete-small:hover[b-e5s744j3qh] { border-color: #dc2626; background: #fef2f2; }

/* ── Inline edit form ── */
.edit-form[b-e5s744j3qh] {
    padding: 16px 18px;
    border: 1.5px solid #16a34a;
    border-radius: 6px;
    background: #f0fdf4;
}
.edit-form-title[b-e5s744j3qh] {
    font-size: 13px;
    font-weight: 700;
    color: #15803d;
    margin-bottom: 14px;
}

/* ── Form actions ── */
.form-actions[b-e5s744j3qh] { display: flex; gap: 10px; margin-top: 16px; }
.btn-save[b-e5s744j3qh] {
    padding: 9px 22px;
    background: #16a34a;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s;
}
.btn-save:hover:not(:disabled)[b-e5s744j3qh] { background: #15803d; }
.btn-save:disabled[b-e5s744j3qh] { background: #9ca3af; cursor: not-allowed; }
.btn-cancel[b-e5s744j3qh] {
    padding: 9px 18px;
    background: #fff;
    color: #555;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    cursor: pointer;
    transition: border-color .2s, color .2s;
}
.btn-cancel:hover[b-e5s744j3qh] { border-color: #555; color: #333; }
.form-error[b-e5s744j3qh] { margin: 8px 0 0; font-size: 13px; color: #dc2626; }

/* ── Loading ── */
.loading-container[b-e5s744j3qh] { text-align: center; padding: 60px 0; color: #888; }

.spinner[b-e5s744j3qh] {
    width: 36px;
    height: 36px;
    border: 4px solid #e2e2e2;
    border-top-color: #16a34a;
    border-radius: 50%;
    animation: spin-b-e5s744j3qh .75s linear infinite;
    margin: 0 auto 14px;
}

@keyframes spin-b-e5s744j3qh { to { transform: rotate(360deg); } }

/* ── Responsive ── */
@media (max-width: 768px) {
    .agenda-wrap[b-e5s744j3qh] { width: 96%; padding: 24px 0 40px; }
    .cal-card[b-e5s744j3qh], .detail-card[b-e5s744j3qh] { padding: 14px 8px; }
    .cal-cell[b-e5s744j3qh] { min-height: 68px; }
    .cal-chip[b-e5s744j3qh] { font-size: 9px; padding: 1px 3px; }
    .add-form-grid .form-field[b-e5s744j3qh] { min-width: 0; flex-basis: calc(50% - 8px); }
}

@media (max-width: 540px) {
    .agenda-title-row[b-e5s744j3qh] { flex-direction: column; align-items: flex-start; gap: 8px; }
    .agenda-header h1[b-e5s744j3qh] { font-size: 22px; }
    .cal-header-cell[b-e5s744j3qh] { font-size: 9px; letter-spacing: 0; padding: 6px 2px 8px; }
    .add-form-grid .form-field[b-e5s744j3qh] { flex-basis: 100%; }
    .form-actions[b-e5s744j3qh] { flex-direction: column; }
    .form-actions .btn-save[b-e5s744j3qh],
    .form-actions .btn-cancel[b-e5s744j3qh] { width: 100%; text-align: center; }
}

@media (max-width: 480px) {
    .agenda-wrap[b-e5s744j3qh] { width: 100%; padding: 16px 0 40px; }
    .cal-card[b-e5s744j3qh], .detail-card[b-e5s744j3qh] { padding: 12px 6px; border-radius: 0; }
    .agenda-header[b-e5s744j3qh] { padding: 0 6px; }
    .cal-grid[b-e5s744j3qh] { gap: 2px; }
    .cal-cell[b-e5s744j3qh] { min-height: 52px; padding: 4px 3px; }
    .cal-chip[b-e5s744j3qh] { display: none; }
    .cal-chip:first-child[b-e5s744j3qh] { display: block; }
    .cal-day-num[b-e5s744j3qh] { font-size: 11px; width: 20px; height: 20px; }
    .detail-row[b-e5s744j3qh] { flex-direction: column; gap: 8px; }
}
/* /Components/Pages/Consulta.razor.rz.scp.css */
.page-wrap[b-y15wxhn8r2] {
    width: 92%;
    max-width: 1100px;
    margin: 40px auto 60px;
}

/* ── White card ── */
.card[b-y15wxhn8r2] {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 0 7px rgba(0,0,0,.07);
    padding: 28px 32px;
    margin-bottom: 24px;
}

/* ── Search bar ── */
.search-form[b-y15wxhn8r2] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.search-form input[type="text"][b-y15wxhn8r2] {
    padding: 10px 14px;
    flex: 1;
    min-width: 200px;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    color: #333;
    background: #fafafa;
    transition: border-color .2s, box-shadow .2s;
}

.search-form input[type="text"]:focus[b-y15wxhn8r2] {
    outline: none;
    border-color: #16a34a;
    box-shadow: 0 0 0 3px rgba(22,163,74,.10);
    background: #fff;
}

.search-form button[b-y15wxhn8r2] {
    padding: 10px 24px;
    background: #16a34a;
    color: #fff;
    border: 2px solid #16a34a;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}

.search-form button:hover[b-y15wxhn8r2] { background: #15803d; border-color: #15803d; }

.search-form .btn-export[b-y15wxhn8r2] {
    padding: 10px 18px;
    background: #fff;
    color: #16a34a;
    border: 2px solid #16a34a;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, color .2s;
}
.search-form .btn-export:hover[b-y15wxhn8r2] { background: #f0fdf4; }

.search-form .back-button[b-y15wxhn8r2] {
    padding: 10px 22px;
    background: transparent;
    color: #555;
    border: 2px solid #e2e2e2;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: border-color .2s, color .2s;
}

.search-form .back-button:hover[b-y15wxhn8r2] { border-color: #888; color: #333; }

/* ── Filter info ── */
.filter-info[b-y15wxhn8r2] {
    font-size: 13px;
    color: #16a34a;
    font-weight: 600;
    margin: 16px 0 0;
    padding: 6px 12px;
    background: #f0fdf4;
    border-radius: 4px;
    display: inline-block;
}

/* ── Section title ── */
h3[b-y15wxhn8r2] {
    font-size: 15px;
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e2e2e2;
}

/* ── Table ── */
table[b-y15wxhn8r2] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

thead tr[b-y15wxhn8r2] { background: #f7f7f7; }

th[b-y15wxhn8r2] {
    padding: 11px 14px;
    color: #333;
    font-weight: 700;
    font-size: 12px;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-bottom: 2px solid #e2e2e2;
    white-space: nowrap;
}

td[b-y15wxhn8r2] {
    padding: 12px 14px;
    border-bottom: 1px solid #e2e2e2;
    color: #555;
    vertical-align: middle;
}

tbody tr:hover[b-y15wxhn8r2] { background: #f7f7f7; }
tbody tr:last-child td[b-y15wxhn8r2] { border-bottom: none; }

/* ── Client link ── */
a.client-link[b-y15wxhn8r2] {
    color: #16a34a;
    font-weight: 600;
    text-decoration: none;
}
a.client-link:hover[b-y15wxhn8r2] { text-decoration: underline; color: #15803d; }

/* ── Back link ── */
.back-link[b-y15wxhn8r2] {
    display: inline-block;
    margin-top: 20px;
    color: #16a34a;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
}
.back-link:hover[b-y15wxhn8r2] { text-decoration: underline; }

/* ── Pagination ── */
.pagination[b-y15wxhn8r2] {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e2e2e2;
}

.pagination button[b-y15wxhn8r2],
.pagination span.disabled[b-y15wxhn8r2] {
    padding: 7px 14px;
    background: #fff;
    color: #555;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
}

.pagination button:hover[b-y15wxhn8r2] {
    background: #f0fdf4;
    border-color: #16a34a;
    color: #16a34a;
}

.pagination button.active[b-y15wxhn8r2] {
    background: #16a34a;
    color: #fff;
    border-color: #16a34a;
}

.pagination span.disabled[b-y15wxhn8r2] {
    color: #ccc;
    cursor: not-allowed;
    pointer-events: none;
    background: #fafafa;
}

/* ── Table horizontal scroll (mobile) ── */
.table-scroll[b-y15wxhn8r2] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 4px;
}

.table-scroll table[b-y15wxhn8r2] { min-width: 700px; }

@media (max-width: 768px) {
    .page-wrap[b-y15wxhn8r2] { width: 96%; margin: 20px auto 40px; }
    .card[b-y15wxhn8r2] { padding: 18px 16px; }
    th[b-y15wxhn8r2], td[b-y15wxhn8r2] { padding: 8px 10px; font-size: 13px; }
    .search-form[b-y15wxhn8r2] { flex-direction: column; }
    .search-form input[type="text"][b-y15wxhn8r2],
    .search-form button[b-y15wxhn8r2],
    .search-form .btn-export[b-y15wxhn8r2],
    .search-form .back-button[b-y15wxhn8r2] { width: 100%; justify-content: center; }
}

@media (max-width: 480px) {
    .page-wrap[b-y15wxhn8r2] { width: 100%; margin: 12px auto 32px; padding: 0 12px; }
    .card[b-y15wxhn8r2] { padding: 14px 12px; border-radius: 0; }
}
/* /Components/Pages/PetsDue.razor.rz.scp.css */
.due-wrap[b-kq2efq3v9t] {
    width: 92%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 0 60px;
}

/* ── Header ── */
.due-header[b-kq2efq3v9t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}
.due-header h1[b-kq2efq3v9t] {
    margin: 0 0 6px;
    font-size: 26px;
    font-weight: 800;
    color: #333;
}
.due-sub[b-kq2efq3v9t] {
    margin: 0;
    font-size: 14px;
    color: #888;
}
.btn-back[b-kq2efq3v9t] {
    padding: 8px 18px;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    color: #555;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color .2s, color .2s;
}
.btn-back:hover[b-kq2efq3v9t] { border-color: #555; color: #333; }

/* ── Summary pills ── */
.summary-row[b-kq2efq3v9t] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}
.pill[b-kq2efq3v9t] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 16px;
    border: 2px solid #e2e2e2;
    border-radius: 100px;
    background: #fff;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #555;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
}
.pill:hover[b-kq2efq3v9t]           { border-color: #888; color: #333; }
.pill--active[b-kq2efq3v9t]         { background: #1e293b; border-color: #1e293b; color: #fff; }
.pill--red[b-kq2efq3v9t]            { border-color: #fca5a5; color: #dc2626; }
.pill--red.pill--active[b-kq2efq3v9t]    { background: #dc2626; border-color: #dc2626; color: #fff; }
.pill--orange[b-kq2efq3v9t]         { border-color: #fdba74; color: #ea580c; }
.pill--orange.pill--active[b-kq2efq3v9t] { background: #ea580c; border-color: #ea580c; color: #fff; }
.pill--yellow[b-kq2efq3v9t]         { border-color: #fde68a; color: #d97706; }
.pill--yellow.pill--active[b-kq2efq3v9t] { background: #d97706; border-color: #d97706; color: #fff; }
.pill-count[b-kq2efq3v9t] {
    background: rgba(0,0,0,.10);
    border-radius: 100px;
    padding: 1px 7px;
    font-size: 11px;
}
.pill--active .pill-count[b-kq2efq3v9t] { background: rgba(255,255,255,.25); }

/* ── Copy-all bar ── */
.copy-all-bar[b-kq2efq3v9t] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #555;
    flex-wrap: wrap;
    gap: 10px;
}
.btn-copy-all[b-kq2efq3v9t] {
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.btn-copy-all:hover[b-kq2efq3v9t] { background: #f8fafc; border-color: #94a3b8; }

/* ── Cards grid ── */
.cards-grid[b-kq2efq3v9t] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}

/* ── Pet card ── */
.pet-card[b-kq2efq3v9t] {
    background: #fff;
    border-radius: 8px;
    border: 2px solid #e2e2e2;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    transition: box-shadow .2s, border-color .2s;
    position: relative;
}
.pet-card:hover[b-kq2efq3v9t] { box-shadow: 0 4px 14px rgba(0,0,0,.09); }

.pet-card--red[b-kq2efq3v9t]    { border-left: 5px solid #dc2626; }
.pet-card--orange[b-kq2efq3v9t] { border-left: 5px solid #ea580c; }
.pet-card--yellow[b-kq2efq3v9t] { border-left: 5px solid #d97706; }

/* ── Card top ── */
.pet-card-top[b-kq2efq3v9t] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.pet-name-row[b-kq2efq3v9t] { display: flex; flex-direction: column; gap: 3px; }
.pet-name[b-kq2efq3v9t]  { font-size: 17px; font-weight: 800; color: #1e293b; }
.pet-raca[b-kq2efq3v9t]  { font-size: 12px; color: #888; font-style: italic; }

.status-badge[b-kq2efq3v9t] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 100px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    flex-shrink: 0;
}
.status-badge--red[b-kq2efq3v9t]    { background: #fee2e2; color: #dc2626; }
.status-badge--orange[b-kq2efq3v9t] { background: #ffedd5; color: #ea580c; }
.status-badge--yellow[b-kq2efq3v9t] { background: #fef3c7; color: #d97706; }

/* ── Stats ── */
.pet-stats[b-kq2efq3v9t] { display: flex; flex-direction: column; gap: 5px; }
.pet-stat[b-kq2efq3v9t]  { display: flex; justify-content: space-between; font-size: 13px; gap: 8px; }
.pet-stat-label[b-kq2efq3v9t] { color: #888; white-space: nowrap; }
.pet-stat-value[b-kq2efq3v9t] { color: #333; font-weight: 600; text-align: right; }
.pet-stat-value em[b-kq2efq3v9t] { font-style: normal; font-weight: 400; color: #888; }
.overdue-value[b-kq2efq3v9t] { color: #dc2626; }
.soon-value[b-kq2efq3v9t]    { color: #d97706; }

/* ── Owner info ── */
.pet-owner[b-kq2efq3v9t] { display: flex; flex-direction: column; gap: 3px; padding-top: 4px; border-top: 1px solid #f1f5f9; }
.owner-name[b-kq2efq3v9t]  { font-size: 14px; font-weight: 600; color: #333; }
.owner-phone[b-kq2efq3v9t] { font-size: 13px; color: #555; }

/* ── Actions ── */
.pet-actions[b-kq2efq3v9t] { display: flex; flex-wrap: wrap; gap: 8px; }
.btn-whatsapp[b-kq2efq3v9t] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: #25d366;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s;
}
.btn-whatsapp:hover[b-kq2efq3v9t] { background: #1ebe5d; color: #fff; }
.btn-copy[b-kq2efq3v9t] {
    padding: 7px 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.btn-copy:hover[b-kq2efq3v9t] { background: #f1f5f9; border-color: #94a3b8; }
.btn-client[b-kq2efq3v9t] {
    padding: 7px 14px;
    border: 1px solid #16a34a;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #16a34a;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.btn-client:hover[b-kq2efq3v9t] { background: #16a34a; color: #fff; }

/* ── Copied toast ── */
.copied-toast[b-kq2efq3v9t] {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: #1e293b;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 4px;
    animation: fadeInOut-b-kq2efq3v9t 2s ease forwards;
}
@keyframes fadeInOut-b-kq2efq3v9t {
    0%   { opacity: 0; transform: translateY(4px); }
    15%  { opacity: 1; transform: translateY(0); }
    80%  { opacity: 1; }
    100% { opacity: 0; }
}

/* ── Empty state ── */
.empty-state[b-kq2efq3v9t] {
    text-align: center;
    padding: 80px 20px;
    color: #888;
}
.empty-icon[b-kq2efq3v9t] { font-size: 56px; margin-bottom: 16px; }
.empty-state h2[b-kq2efq3v9t] { font-size: 22px; font-weight: 800; color: #333; margin: 0 0 8px; }
.empty-state p[b-kq2efq3v9t]  { font-size: 15px; margin: 0; }

/* ── Loading ── */
.loading-container[b-kq2efq3v9t] { text-align: center; padding: 60px 0; color: #888; }
.spinner[b-kq2efq3v9t] {
    width: 36px; height: 36px;
    border: 4px solid #e2e2e2;
    border-top-color: #16a34a;
    border-radius: 50%;
    animation: spin-b-kq2efq3v9t .75s linear infinite;
    margin: 0 auto 14px;
}
@keyframes spin-b-kq2efq3v9t { to { transform: rotate(360deg); } }

/* ── Responsive ── */
@media (max-width: 768px) {
    .due-wrap[b-kq2efq3v9t] { width: 96%; padding: 24px 0 40px; }
    .cards-grid[b-kq2efq3v9t] { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
}

@media (max-width: 640px) {
    .due-header[b-kq2efq3v9t] { flex-direction: column; align-items: flex-start; gap: 12px; }
    .due-header h1[b-kq2efq3v9t] { font-size: 22px; }
    .cards-grid[b-kq2efq3v9t] { grid-template-columns: 1fr; }
    .summary-row[b-kq2efq3v9t] { gap: 6px; }
    .pill[b-kq2efq3v9t] { padding: 6px 12px; font-size: 12px; }
}

@media (max-width: 480px) {
    .due-wrap[b-kq2efq3v9t] { width: 100%; padding: 16px 12px 40px; }
    .copy-all-bar[b-kq2efq3v9t] { flex-direction: column; align-items: flex-start; gap: 8px; }
    .pet-card[b-kq2efq3v9t] { padding: 16px; }
}
/* /Components/Public/Gallery.razor.rz.scp.css */
.gallery-section[b-9n7zptm22u] {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 0 7px rgba(0,0,0,.07);
    padding: 32px 36px;
    margin-bottom: 28px;
}

.gallery-title[b-9n7zptm22u] {
    margin: 0 0 24px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #888;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e2e2;
}

.gallery-grid[b-9n7zptm22u] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.gallery-item[b-9n7zptm22u] {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 4px;
    background: #f7f7f7;
}

.gallery-item img[b-9n7zptm22u] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.gallery-item:hover img[b-9n7zptm22u] { transform: scale(1.05); }

.gallery-empty[b-9n7zptm22u] {
    text-align: center;
    color: #888;
    font-size: 14px;
    padding: 32px 0;
    margin: 0;
}

@media (max-width: 640px) {
    .gallery-section[b-9n7zptm22u] { padding: 22px 18px; }
    .gallery-grid[b-9n7zptm22u] { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}
/* /Components/Public/InstagramFeed.razor.rz.scp.css */
.insta-widget[b-gjwvcgdrqb] {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 0 7px rgba(0,0,0,.07);
    overflow: hidden;
    margin-bottom: 28px;
}

.insta-header[b-gjwvcgdrqb] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 24px;
    border-bottom: 1px solid #e2e2e2;
}

.insta-icon[b-gjwvcgdrqb] {
    width: 30px;
    height: 30px;
    color: #e1306c;
    flex-shrink: 0;
}

.insta-meta[b-gjwvcgdrqb] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.insta-handle[b-gjwvcgdrqb] {
    font-weight: 700;
    font-size: 15px;
    color: #333;
    text-decoration: none;
}

.insta-handle:hover[b-gjwvcgdrqb] { color: #16a34a; }

.insta-sub[b-gjwvcgdrqb] {
    font-size: 13px;
    color: #888;
    margin-top: 1px;
}

.insta-follow-btn[b-gjwvcgdrqb] {
    padding: 7px 20px;
    background: #0095f6;
    color: white;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    font-family: 'Open Sans', Arial, sans-serif;
    transition: background .2s;
    white-space: nowrap;
    flex-shrink: 0;
}

.insta-follow-btn:hover[b-gjwvcgdrqb] { background: #0077c5; color: white; }

.insta-grid[b-gjwvcgdrqb] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
    background: #e2e2e2;
}

.insta-item[b-gjwvcgdrqb] {
    position: relative;
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: #f7f7f7;
}

.insta-item img[b-gjwvcgdrqb] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.insta-item:hover img[b-gjwvcgdrqb] { transform: scale(1.04); }

.insta-overlay[b-gjwvcgdrqb] {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.52);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    opacity: 0;
    transition: opacity .22s ease;
}

.insta-item:hover .insta-overlay[b-gjwvcgdrqb] { opacity: 1; }

.insta-overlay p[b-gjwvcgdrqb] {
    color: #fff;
    font-size: 13px;
    text-align: center;
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.insta-footer[b-gjwvcgdrqb] {
    text-align: center;
    padding: 16px;
    border-top: 1px solid #e2e2e2;
}

.insta-footer a[b-gjwvcgdrqb] {
    color: #16a34a;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}

.insta-footer a:hover[b-gjwvcgdrqb] { text-decoration: underline; }
/* /Components/Shared/ConfirmModal.razor.rz.scp.css */
.modal-backdrop[b-y8f2i0s0g8] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn-b-y8f2i0s0g8 .15s ease;
}

.modal-box[b-y8f2i0s0g8] {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    padding: 32px 36px 28px;
    width: 100%;
    max-width: 420px;
    animation: slideUp-b-y8f2i0s0g8 .15s ease;
    margin: 16px;
}

.modal-title[b-y8f2i0s0g8] {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: #333;
}

.modal-msg[b-y8f2i0s0g8] {
    margin: 0 0 24px;
    font-size: 15px;
    color: #555;
    line-height: 1.6;
}

.modal-actions[b-y8f2i0s0g8] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.modal-cancel[b-y8f2i0s0g8] {
    padding: 9px 20px;
    background: #fff;
    color: #555;
    border: 2px solid #e2e2e2;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .2s, color .2s;
}

.modal-cancel:hover[b-y8f2i0s0g8] { border-color: #888; color: #333; }

.modal-confirm[b-y8f2i0s0g8] {
    padding: 9px 20px;
    background: #16a34a;
    color: #fff;
    border: 2px solid #16a34a;
    border-radius: 4px;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}

.modal-confirm:hover[b-y8f2i0s0g8] { background: #15803d; border-color: #15803d; }

.modal-confirm.danger[b-y8f2i0s0g8] { background: #dc2626; border-color: #dc2626; }
.modal-confirm.danger:hover[b-y8f2i0s0g8] { background: #b91c1c; border-color: #b91c1c; }

@keyframes fadeIn-b-y8f2i0s0g8  { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp-b-y8f2i0s0g8 { from { transform: translateY(16px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
