/* /Components/Admin/ExplicacaoTaxas.razor.rz.scp.css */
.explicacao-taxas[b-q2mi1v1ibs] {
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
    padding: var(--space-16);
    border: 1px solid var(--border);
    border-radius: var(--radius-md, 12px);
    background-color: var(--surface);
}

.explicacao-taxas__titulo[b-q2mi1v1ibs] {
    margin: 0;
    font-size: 1rem;
}

.explicacao-taxas__passos[b-q2mi1v1ibs] {
    margin: 0;
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    color: var(--text-muted);
    line-height: 1.5;
}

.explicacao-taxas__exemplo[b-q2mi1v1ibs] {
    margin: 0;
    padding: var(--space-12);
    border-radius: var(--radius-sm, 8px);
    background-color: var(--bg);
    line-height: 1.5;
}
/* /Components/Plataforma/AgendaAoVivo.razor.rz.scp.css */
/*
 * Loop de 14s. Estado base = agenda cheia (o que aparece com movimento reduzido / sem suporte).
 * Cada card i entra em (8, 24, 40, 55, 71)% do ciclo; todos somem juntos em 96% e o ciclo recomeça.
 * Os avisos usam um único keyframe com delay (cada um aparece uma vez por ciclo de 14s).
 */

.ag[b-mvp7edfesm] {
    position: relative;
    width: 100%;
    max-width: 540px;
    margin-inline: auto;
}

/* ---------- Endereço digitando ---------- */

.ag__endereco[b-mvp7edfesm] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: fit-content;
    margin: 0 0 1rem;
    padding: 0.55rem 1rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 999px;
    background: rgba(10, 16, 36, 0.6);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--cf-fg);
}

.ag__cadeado[b-mvp7edfesm] {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    background: var(--cf-ok);
    box-shadow: 0 0 0 4px rgba(61, 220, 151, 0.18);
    animation: ag-respira-b-mvp7edfesm 2.4s ease-in-out infinite;
}

/* Três nomes empilhados na mesma célula; cada um ocupa uma fatia de 4,6s do ciclo de 14s:
   digita, fica à mostra e some para o próximo entrar. Sem animação, só o primeiro aparece. */
.ag__url[b-mvp7edfesm] {
    display: grid;
}

.ag__site[b-mvp7edfesm] {
    grid-area: 1 / 1;
    display: inline-flex;
    opacity: 0;
    animation: ag-site-b-mvp7edfesm 14s linear infinite;
    animation-delay: calc(var(--s) * 4.6s);
}

.ag__site:first-child[b-mvp7edfesm] {
    opacity: 1;
}

.ag__digita[b-mvp7edfesm] {
    display: inline-block;
    clip-path: inset(0 0 0 0);
    animation: ag-digita-b-mvp7edfesm 14s steps(13, end) infinite;
    animation-delay: calc(var(--s) * 4.6s);
}

.ag__dominio[b-mvp7edfesm] {
    color: var(--cf-fg-muted);
}

.ag__legenda[b-mvp7edfesm] {
    margin: -0.4rem 0 1rem 1rem;
    font-size: 0.8125rem;
    color: var(--cf-fg-muted);
}

@keyframes ag-site-b-mvp7edfesm {
    0%, 28% { opacity: 1; }
    32%, 100% { opacity: 0; }
}

@keyframes ag-digita-b-mvp7edfesm {
    0% { clip-path: inset(0 100% 0 0); }
    9%, 100% { clip-path: inset(0 0 0 0); }
}

@keyframes ag-respira-b-mvp7edfesm {
    50% { box-shadow: 0 0 0 8px rgba(61, 220, 151, 0); }
}

/* ---------- Painel ---------- */

.ag__painel[b-mvp7edfesm] {
    position: relative;
    padding: 1.25rem;
    border-radius: var(--cf-radius-l);
    box-shadow: 0 40px 90px -40px rgba(61, 107, 255, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}

.ag__topo[b-mvp7edfesm] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--cf-line);
}

.ag__dia[b-mvp7edfesm] {
    margin: 0;
    font-family: var(--cf-font-display);
    font-size: 2rem;
    font-weight: 800;
    line-height: 0.95;
}

.ag__sub[b-mvp7edfesm] {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    color: var(--cf-fg-muted);
}

.ag__total[b-mvp7edfesm] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: 0;
    text-align: right;
}

.ag__total-rotulo[b-mvp7edfesm] {
    font-size: 0.8125rem;
    color: var(--cf-fg-muted);
}

.ag__valor[b-mvp7edfesm] {
    font-family: var(--cf-font-display);
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    --cf-n: 220;
    animation: ag-conta-b-mvp7edfesm 14s linear infinite;
}

.ag__valor[b-mvp7edfesm]::before {
    content: 'R$ ';
    font-size: 0.6em;
    color: var(--cf-fg-muted);
}

.ag__valor[b-mvp7edfesm]::after {
    counter-reset: ag-n var(--cf-n);
    content: counter(ag-n) ',00';
}

@keyframes ag-conta-b-mvp7edfesm {
    0%, 8% { --cf-n: 0; }
    11%, 24% { --cf-n: 45; }
    27%, 40% { --cf-n: 115; }
    43%, 55% { --cf-n: 150; }
    58%, 71% { --cf-n: 200; }
    74%, 96% { --cf-n: 220; }
    97%, 100% { --cf-n: 0; }
}

/* ---------- Linha do dia ---------- */

.ag__dia-lista[b-mvp7edfesm] {
    position: relative;
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag__slot[b-mvp7edfesm] {
    display: grid;
    grid-template-columns: 3.25rem 1fr;
    align-items: center;
    min-height: 3.75rem;
}

.ag__hora[b-mvp7edfesm] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cf-fg-muted);
    font-variant-numeric: tabular-nums;
}

.ag__card[b-mvp7edfesm] {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    height: 100%;
    min-height: 3.5rem;
    padding: 0.5rem 0.9rem 0.5rem 0.75rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 14px;
    background: linear-gradient(90deg, rgba(61, 107, 255, 0.28), rgba(61, 107, 255, 0.1)), var(--cf-ink-2);
    overflow: hidden;
}

/* Vaga vazia atrás do card: o traço tracejado que "recebe" o cliente. */
.ag__slot[b-mvp7edfesm]::after {
    content: '';
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    border: 1px dashed var(--cf-line);
    border-radius: 14px;
    z-index: 0;
}

.ag__card[b-mvp7edfesm] {
    grid-column: 2;
    grid-row: 1;
    z-index: 1;
}

.ag__fita[b-mvp7edfesm] {
    align-self: stretch;
    width: 5px;
    border-radius: 999px;
    background-image: repeating-linear-gradient(135deg, var(--cf-red) 0 14px, var(--cf-foam) 14px 28px, var(--cf-blue) 28px 42px, var(--cf-foam) 42px 56px);
    background-size: 100% var(--cf-pole-h);
    animation: cf-pole-y 2.4s linear infinite;
}

.ag__info[b-mvp7edfesm] {
    flex: 1;
    min-width: 0;
}

.ag__nome[b-mvp7edfesm],
.ag__servico[b-mvp7edfesm],
.ag__preco[b-mvp7edfesm] {
    margin: 0;
}

.ag__nome[b-mvp7edfesm] {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.ag__servico[b-mvp7edfesm] {
    font-size: 0.8125rem;
    color: var(--cf-fg-muted);
    line-height: 1.3;
}

.ag__preco[b-mvp7edfesm] {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ag__slot:nth-child(1) .ag__card[b-mvp7edfesm] { animation: ag-c0-b-mvp7edfesm 14s var(--cf-ease) infinite; }
.ag__slot:nth-child(2) .ag__card[b-mvp7edfesm] { animation: ag-c1-b-mvp7edfesm 14s var(--cf-ease) infinite; }
.ag__slot:nth-child(3) .ag__card[b-mvp7edfesm] { animation: ag-c2-b-mvp7edfesm 14s var(--cf-ease) infinite; }
.ag__slot:nth-child(4) .ag__card[b-mvp7edfesm] { animation: ag-c3-b-mvp7edfesm 14s var(--cf-ease) infinite; }
.ag__slot:nth-child(5) .ag__card[b-mvp7edfesm] { animation: ag-c4-b-mvp7edfesm 14s var(--cf-ease) infinite; }

@keyframes ag-c0-b-mvp7edfesm {
    0%, 7% { opacity: 0; transform: translateX(-18px) scale(0.96); box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    10% { opacity: 1; transform: none; box-shadow: 0 0 0 6px rgba(138, 165, 255, 0.35); }
    16% { box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    90% { opacity: 1; }
    96%, 100% { opacity: 0; transform: translateY(6px); }
}

@keyframes ag-c1-b-mvp7edfesm {
    0%, 23% { opacity: 0; transform: translateX(-18px) scale(0.96); box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    26% { opacity: 1; transform: none; box-shadow: 0 0 0 6px rgba(138, 165, 255, 0.35); }
    32% { box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    90% { opacity: 1; }
    96%, 100% { opacity: 0; transform: translateY(6px); }
}

@keyframes ag-c2-b-mvp7edfesm {
    0%, 39% { opacity: 0; transform: translateX(-18px) scale(0.96); box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    42% { opacity: 1; transform: none; box-shadow: 0 0 0 6px rgba(138, 165, 255, 0.35); }
    48% { box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    90% { opacity: 1; }
    96%, 100% { opacity: 0; transform: translateY(6px); }
}

@keyframes ag-c3-b-mvp7edfesm {
    0%, 54% { opacity: 0; transform: translateX(-18px) scale(0.96); box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    57% { opacity: 1; transform: none; box-shadow: 0 0 0 6px rgba(138, 165, 255, 0.35); }
    63% { box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    90% { opacity: 1; }
    96%, 100% { opacity: 0; transform: translateY(6px); }
}

@keyframes ag-c4-b-mvp7edfesm {
    0%, 70% { opacity: 0; transform: translateX(-18px) scale(0.96); box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    73% { opacity: 1; transform: none; box-shadow: 0 0 0 6px rgba(138, 165, 255, 0.35); }
    79% { box-shadow: 0 0 0 0 rgba(138, 165, 255, 0); }
    90% { opacity: 1; }
    96%, 100% { opacity: 0; transform: translateY(6px); }
}

/* Linha do "agora" descendo o dia */
.ag__agora[b-mvp7edfesm] {
    position: absolute;
    left: 3.25rem;
    right: 0;
    top: 0;
    height: 2px;
    pointer-events: none;
    background: linear-gradient(90deg, var(--cf-red), transparent);
    box-shadow: 0 0 12px var(--cf-red);
    animation: ag-agora-b-mvp7edfesm 14s linear infinite;
}

@keyframes ag-agora-b-mvp7edfesm {
    0% { top: 0; opacity: 0; }
    6% { opacity: 1; }
    92% { top: 100%; opacity: 1; }
    96%, 100% { top: 100%; opacity: 0; }
}

/* ---------- Avisos ("Diego marcou 09:45 pelo link") ---------- */

.ag__avisos[b-mvp7edfesm] {
    position: absolute;
    left: 1rem;
    bottom: -1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ag__aviso[b-mvp7edfesm] {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 1rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 999px;
    background: var(--cf-ink-3);
    box-shadow: 0 16px 36px -14px rgba(0, 0, 0, 0.7);
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    animation: ag-aviso-b-mvp7edfesm 14s var(--cf-ease) infinite backwards;
    animation-delay: calc(1.1s + var(--i) * 2.2s);
}

.ag__ponto[b-mvp7edfesm] {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: var(--cf-ok);
}

@keyframes ag-aviso-b-mvp7edfesm {
    0% { opacity: 0; transform: translateY(14px) scale(0.94); }
    3% { opacity: 1; transform: none; }
    13% { opacity: 1; transform: none; }
    16%, 100% { opacity: 0; transform: translateY(-8px); }
}

@media (max-width: 480px) {
    .ag__aviso[b-mvp7edfesm] {
        font-size: 0.8125rem;
        padding: 0.5rem 0.85rem;
    }

    .ag__dia[b-mvp7edfesm] {
        font-size: 1.6rem;
    }

    .ag__valor[b-mvp7edfesm] {
        font-size: 1.75rem;
    }
}
/* /Components/Plataforma/BoasVindasDono.razor.rz.scp.css */
/*
 * Boas-vindas do dono ao site novo (BoasVindasDono.razor). Vive dentro do palco <Cena>, então herda a
 * aurora/grade/poste; aqui só a composição: selo, título grande, endereço copiável, três passos em
 * cascata e as ações na zona do polegar. Confete em canvas fixo por cima de tudo, sem capturar toques.
 */

.boas[b-ns23ri48qc] {
    position: relative;
    justify-self: start;
    width: 100%;
    max-width: 600px;
    /* Reserva o lado do poste da Cena. */
    padding-right: clamp(1.5rem, 8vw, 3rem);
}

.boas__confete[b-ns23ri48qc] {
    position: fixed;
    inset: 0;
    z-index: 50;
    pointer-events: none;
}

.boas__conteudo[b-ns23ri48qc] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.1rem;
}

.boas__selo[b-ns23ri48qc] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.35rem 0.85rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 999px;
    background: var(--cf-surface);
    color: var(--cf-ok);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    animation: boas-entra-b-ns23ri48qc 0.7s var(--cf-ease) backwards;
}

.boas__selo-ponto[b-ns23ri48qc] {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--cf-ok);
    box-shadow: 0 0 0 0 var(--cf-ok);
    animation: boas-pulso-b-ns23ri48qc 1.8s ease-out infinite;
}

.boas__titulo[b-ns23ri48qc] {
    display: flex;
    flex-direction: column;
    margin: 0;
    font-family: var(--cf-font-display);
    font-size: clamp(3.2rem, 14vw, 7rem);
    font-weight: 800;
    line-height: 0.9;
    text-wrap: balance;
}

.boas__titulo-linha[b-ns23ri48qc] {
    display: block;
    animation: boas-sobe-b-ns23ri48qc 1s var(--cf-ease) 0.1s backwards;
}

.boas__titulo-linha--destaque[b-ns23ri48qc] {
    background: linear-gradient(100deg, var(--cf-blue-soft), var(--cf-blue) 40%, #ffffff 55%, var(--cf-blue-soft) 70%);
    background-size: 220% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation:
        boas-sobe-b-ns23ri48qc 1s var(--cf-ease) 0.3s backwards,
        boas-brilho-b-ns23ri48qc 3.2s ease-in-out 1.4s infinite;
}

.boas__lead[b-ns23ri48qc] {
    max-width: 46ch;
    margin: 0;
    color: var(--cf-fg-muted);
    font-size: 1.125rem;
    line-height: 1.5;
    animation: boas-entra-b-ns23ri48qc 0.9s var(--cf-ease) 0.5s backwards;
}

.boas__lead strong[b-ns23ri48qc] {
    color: var(--cf-fg);
}

.boas__endereco[b-ns23ri48qc] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    max-width: 100%;
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    border: 1px dashed var(--cf-blue-soft);
    border-radius: var(--cf-radius-m);
    background: var(--cf-surface);
    animation: boas-entra-b-ns23ri48qc 0.9s var(--cf-ease) 0.65s backwards;
}

.boas__endereco-texto[b-ns23ri48qc] {
    min-width: 0;
    font-family: var(--cf-font-display);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    overflow-wrap: anywhere;
}

.boas__passos[b-ns23ri48qc] {
    display: grid;
    gap: 0.6rem;
    width: 100%;
    margin: 0.25rem 0 0;
    padding: 0;
    list-style: none;
}

.boas__passo[b-ns23ri48qc] {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius-m);
    background: var(--cf-surface);
    line-height: 1.4;
    animation: boas-entra-b-ns23ri48qc 0.8s var(--cf-ease) calc(0.8s + var(--i) * 0.15s) backwards;
}

.boas__passo-numero[b-ns23ri48qc] {
    flex: none;
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: var(--cf-blue);
    color: #fff;
    font-weight: 800;
    font-size: 0.9rem;
}

.boas__acoes[b-ns23ri48qc] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    margin-top: 0.5rem;
    animation: boas-entra-b-ns23ri48qc 0.9s var(--cf-ease) 1.3s backwards;
}

@media (min-width: 640px) {
    .boas__acoes[b-ns23ri48qc] {
        width: min(100%, 380px);
    }
}

@keyframes boas-sobe-b-ns23ri48qc {
    from { opacity: 0; transform: translateY(48px); }
}

@keyframes boas-entra-b-ns23ri48qc {
    from { opacity: 0; transform: translateY(14px); }
}

@keyframes boas-brilho-b-ns23ri48qc {
    0%, 100% { background-position: 100% 0; }
    50% { background-position: 0 0; }
}

@keyframes boas-pulso-b-ns23ri48qc {
    to { box-shadow: 0 0 0 0.6rem transparent; }
}

@media (prefers-reduced-motion: reduce) {
    .boas__selo[b-ns23ri48qc],
    .boas__selo-ponto[b-ns23ri48qc],
    .boas__titulo-linha[b-ns23ri48qc],
    .boas__titulo-linha--destaque[b-ns23ri48qc],
    .boas__lead[b-ns23ri48qc],
    .boas__endereco[b-ns23ri48qc],
    .boas__passo[b-ns23ri48qc],
    .boas__acoes[b-ns23ri48qc] {
        animation: none;
    }
}
/* /Components/Plataforma/CelularMock.razor.rz.scp.css */
.cel[b-716rcx7mi9] {
    position: relative;
    width: min(100%, 300px);
    aspect-ratio: 300 / 610;
    margin-inline: auto;
    padding: 10px;
    border-radius: 46px;
    background: linear-gradient(160deg, #26325f, #0b1230 55%, #1a2652);
    box-shadow:
        0 0 0 1.5px rgba(154, 166, 204, 0.4) inset,
        0 50px 100px -30px rgba(61, 107, 255, 0.6),
        0 30px 60px -30px rgba(0, 0, 0, 0.8);
}

.cel__tela[b-716rcx7mi9] {
    position: relative;
    height: 100%;
    overflow: hidden;
    border-radius: 37px;
    background: #f6f8fd;
    color: #0a1024;
}

.cel__ilha[b-716rcx7mi9] {
    position: absolute;
    top: 10px;
    left: 50%;
    z-index: 5;
    width: 86px;
    height: 24px;
    border-radius: 999px;
    background: #0a1024;
    transform: translateX(-50%);
}

.cel__botao[b-716rcx7mi9] {
    position: absolute;
    right: -3px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #3a4a80;
}

.cel__botao--a[b-716rcx7mi9] {
    top: 120px;
    height: 56px;
}

.cel__botao--b[b-716rcx7mi9] {
    top: 196px;
    height: 56px;
}
/* /Components/Plataforma/Cena.razor.rz.scp.css */
.cena[b-tvh51388bl] {
    display: grid;
    overflow: hidden;
    isolation: isolate;
}

.cena__conteudo[b-tvh51388bl] {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 100%;
    max-width: 1080px;
    min-height: 100vh;
    min-height: 100dvh;
    margin-inline: auto;
    padding: clamp(1.25rem, 5vw, 3rem) var(--cf-gutter);
}

.cena__conteudo--topo[b-tvh51388bl] {
    place-items: start center;
    padding-top: clamp(1.5rem, 6vw, 4rem);
}

/* Poste na lateral direita, sangrando para fora da tela. */
.cena__poste[b-tvh51388bl] {
    position: absolute;
    z-index: 1;
    top: -40px;
    bottom: -40px;
    right: clamp(14px, 5vw, 84px);
    width: clamp(14px, 2.4vw, 30px);
    border-radius: 999px;
    border: 2px solid rgba(241, 244, 251, 0.55);
    overflow: hidden;
    box-shadow: 0 0 60px rgba(61, 107, 255, 0.45);
    opacity: 0.85;
    pointer-events: none;
}

.cena__poste .cf-pole[b-tvh51388bl] {
    height: 100%;
}

@media (max-width: 639px) {
    .cena__poste[b-tvh51388bl] {
        right: 8px;
        opacity: 0.55;
    }
}
/* /Components/Plataforma/DemoAgendamento.razor.rz.scp.css */
/*
 * Ciclo de 12s: passo/tela i ativa em [3i, 3i+3)s. Delays positivos + fill-mode `backwards`:
 * antes do delay vale o 0% do keyframe; depois cada iteração recomeça em sincronia.
 * Estado base (sem animação): todos os passos legíveis e a tela final (confirmação) à mostra.
 */

/*
 * Mesmo arranjo do desktop em qualquer largura: passos à esquerda, celular à direita. No mobile o celular
 * encolhe (zoom) em vez de cair para baixo dos passos, e os passos perdem a descrição para caber ao lado.
 */
.demo[b-3xnewzrytf] {
    display: grid;
    grid-template-columns: 1fr 158px;
    gap: 0.75rem;
    align-items: center;
}

.demo__celular[b-3xnewzrytf] {
    zoom: 0.52;
}

@media (min-width: 600px) {
    .demo[b-3xnewzrytf] {
        grid-template-columns: 1fr 230px;
        gap: 1.5rem;
    }

    .demo__celular[b-3xnewzrytf] {
        zoom: 0.77;
    }
}

@media (min-width: 900px) {
    .demo[b-3xnewzrytf] {
        grid-template-columns: 1fr minmax(280px, 340px);
        gap: clamp(2rem, 6vw, 5rem);
    }

    .demo__celular[b-3xnewzrytf] {
        zoom: 1;
    }
}

/* ---------- Passos ---------- */

.demo__passos[b-3xnewzrytf] {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.demo__passo[b-3xnewzrytf] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.25rem;
    align-items: start;
    padding: 1.1rem 1.25rem;
    border-radius: var(--cf-radius-m);
    border: 1px solid transparent;
    animation: demo-passo-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

.demo__num[b-3xnewzrytf] {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    border: 1px solid var(--cf-line-strong);
    font-family: var(--cf-font-display);
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1;
}

.demo__titulo[b-3xnewzrytf] {
    margin: 0.1rem 0 0.25rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.25;
}

.demo__descricao[b-3xnewzrytf] {
    display: none;
    margin: 0;
    max-width: 44ch;
    color: var(--cf-fg-muted);
}

@media (max-width: 599px) {
    .demo__passo[b-3xnewzrytf] {
        gap: 0.6rem;
        padding: 0.6rem 0.5rem;
    }

    .demo__num[b-3xnewzrytf] {
        width: 1.85rem;
        height: 1.85rem;
        font-size: 1.05rem;
    }

    .demo__titulo[b-3xnewzrytf] {
        margin: 0.2rem 0 0;
        font-size: 1rem;
    }

    .demo__barra[b-3xnewzrytf] {
        margin-top: 0.5rem;
    }
}

@media (min-width: 600px) {
    .demo__descricao[b-3xnewzrytf] {
        display: block;
    }
}

.demo__barra[b-3xnewzrytf] {
    display: block;
    height: 3px;
    margin-top: 0.85rem;
    border-radius: 999px;
    transform-origin: left;
    background-image: repeating-linear-gradient(135deg, var(--cf-red) 0 14px, var(--cf-foam) 14px 28px, var(--cf-blue) 28px 42px, var(--cf-foam) 42px 56px);
    background-size: var(--cf-pole-h) 100%;
    animation: demo-barra-b-3xnewzrytf 12s linear infinite backwards, cf-pole-x 1.2s linear infinite;
    animation-delay: calc(var(--i) * 3s), 0s;
}

@keyframes demo-passo-b-3xnewzrytf {
    0% { opacity: 0.4; background: transparent; border-color: transparent; }
    2%, 23% { opacity: 1; background: var(--cf-surface-strong); border-color: var(--cf-line); }
    26%, 100% { opacity: 0.4; background: transparent; border-color: transparent; }
}

@keyframes demo-barra-b-3xnewzrytf {
    0% { transform: scaleX(0); }
    24%, 100% { transform: scaleX(1); }
}

/* ---------- Telas do celular ---------- */

.tela[b-3xnewzrytf] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 52px 18px 20px;
    font-size: 0.8125rem;
    opacity: 0;
    animation: demo-tela-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

/* Base: a tela final aparece quando não há animação. */
.tela--4[b-3xnewzrytf] {
    opacity: 1;
}

@keyframes demo-tela-b-3xnewzrytf {
    0% { opacity: 0; transform: translateY(14px); }
    3%, 22% { opacity: 1; transform: none; }
    26%, 100% { opacity: 0; transform: translateY(-14px); }
}

.tela__loja[b-3xnewzrytf] {
    margin: 0;
    color: #6b7280;
    font-weight: 600;
}

.tela__titulo[b-3xnewzrytf] {
    margin: 0 0 0.25rem;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

.tela ul[b-3xnewzrytf],
.tela dl[b-3xnewzrytf] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tela__lista[b-3xnewzrytf] {
    display: grid;
    gap: 0.5rem;
}

.linha[b-3xnewzrytf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}

.linha span[b-3xnewzrytf] {
    display: grid;
}

.linha b[b-3xnewzrytf] {
    font-size: 0.9375rem;
}

.linha small[b-3xnewzrytf] {
    color: #6b7280;
}

.linha em[b-3xnewzrytf] {
    font-style: normal;
    font-weight: 700;
}

.linha--sel[b-3xnewzrytf] {
    animation: demo-sel-linha-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

.tela__botao[b-3xnewzrytf] {
    display: grid;
    place-items: center;
    margin-top: auto;
    min-height: 44px;
    border-radius: 12px;
    background: #2563eb;
    color: #fff;
    font-weight: 700;
    font-size: 0.9375rem;
}

.tela__barbeiros[b-3xnewzrytf] {
    display: grid;
    gap: 0.5rem;
}

.barbeiro[b-3xnewzrytf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}

.barbeiro b[b-3xnewzrytf] {
    font-size: 0.9375rem;
}

.barbeiro__foto[b-3xnewzrytf] {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: linear-gradient(135deg, #3d6bff, #8aa5ff);
    color: #fff;
    font-weight: 800;
}

.barbeiro__foto--vazio[b-3xnewzrytf] {
    background: #e5e7eb;
    color: #6b7280;
}

.barbeiro--sel[b-3xnewzrytf] {
    animation: demo-sel-linha-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

.tela__dias[b-3xnewzrytf] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.35rem;
}

.dia[b-3xnewzrytf] {
    display: grid;
    justify-items: center;
    padding: 0.5rem 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}

.dia small[b-3xnewzrytf] {
    color: #6b7280;
}

.dia b[b-3xnewzrytf] {
    font-size: 1.0625rem;
}

.dia--off[b-3xnewzrytf] {
    opacity: 0.35;
    text-decoration: line-through;
}

.dia--sel[b-3xnewzrytf] {
    animation: demo-sel-dia-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

.tela__horas[b-3xnewzrytf] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.4rem;
}

.hora[b-3xnewzrytf] {
    display: grid;
    place-items: center;
    min-height: 38px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.hora--off[b-3xnewzrytf] {
    opacity: 0.35;
    text-decoration: line-through;
}

.hora--sel[b-3xnewzrytf] {
    animation: demo-sel-bloco-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

@keyframes demo-sel-linha-b-3xnewzrytf {
    0%, 12% { border-color: #e5e7eb; background: #fff; box-shadow: none; }
    16%, 100% { border-color: #2563eb; background: #eff6ff; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.18); }
}

@keyframes demo-sel-dia-b-3xnewzrytf {
    0%, 5% { border-color: #e5e7eb; background: #fff; color: inherit; }
    8%, 100% { border-color: #2563eb; background: #2563eb; color: #fff; }
}

@keyframes demo-sel-bloco-b-3xnewzrytf {
    0%, 12% { border-color: #e5e7eb; background: #fff; color: inherit; }
    16%, 100% { border-color: #2563eb; background: #2563eb; color: #fff; }
}

/* Confirmação */

.tela__resumo[b-3xnewzrytf] {
    display: grid;
    gap: 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
}

.tela__resumo div[b-3xnewzrytf] {
    display: flex;
    justify-content: space-between;
    padding: 0.65rem 0.9rem;
}

.tela__resumo div + div[b-3xnewzrytf] {
    border-top: 1px solid #eef0f4;
}

.tela__resumo dt[b-3xnewzrytf] {
    color: #6b7280;
}

.tela__resumo dd[b-3xnewzrytf] {
    margin: 0;
    font-weight: 700;
}

.tela__botao--confirma[b-3xnewzrytf] {
    animation: demo-toque-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

@keyframes demo-toque-b-3xnewzrytf {
    0%, 14% { transform: none; }
    17% { transform: scale(0.96); }
    20%, 100% { transform: none; }
}

.tela__ok[b-3xnewzrytf] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    background: rgba(246, 248, 253, 0.97);
    text-align: center;
    animation: demo-ok-b-3xnewzrytf 12s var(--cf-ease) infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

.tela__ok b[b-3xnewzrytf] {
    font-size: 1.25rem;
    font-weight: 800;
}

.tela__ok small[b-3xnewzrytf] {
    color: #6b7280;
    font-size: 0.875rem;
}

@keyframes demo-ok-b-3xnewzrytf {
    0%, 55% { opacity: 0; }
    64%, 100% { opacity: 1; }
}

.tela__check[b-3xnewzrytf] {
    width: 4.25rem;
    height: 4.25rem;
    fill: none;
    stroke: #16a34a;
    stroke-width: 3.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tela__check-anel[b-3xnewzrytf] {
    stroke-dasharray: 145;
    animation: demo-traco-b-3xnewzrytf 12s ease-out infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

.tela__check-tique[b-3xnewzrytf] {
    stroke-dasharray: 40;
    animation: demo-traco-tique-b-3xnewzrytf 12s ease-out infinite backwards;
    animation-delay: calc(var(--i) * 3s);
}

@keyframes demo-traco-b-3xnewzrytf {
    0%, 58% { stroke-dashoffset: 145; }
    72%, 100% { stroke-dashoffset: 0; }
}

@keyframes demo-traco-tique-b-3xnewzrytf {
    0%, 70% { stroke-dashoffset: 40; }
    80%, 100% { stroke-dashoffset: 0; }
}

/* Tela 4 usa um `.tela__ok` posicionado dentro dela: precisa de contexto de posicionamento. */
.tela--4[b-3xnewzrytf] {
    overflow: hidden;
}
/* /Components/Plataforma/DocumentoLegal.razor.rz.scp.css */
/*
 * Documento legal. Mesma largura de leitura do portal (760px), painel de vidro sobre a Cena. O corpo é
 * texto corrido longo: linha curta (≈ 68 caracteres), entrelinha folgada e títulos que marcam as seções
 * pela hierarquia e pelo traço do poste, sem numeração decorativa (o texto já traz "1.", "2." nos títulos).
 */

.doc[b-o9o037yphy] {
    width: 100%;
    align-self: start;
}

.doc__conteudo[b-o9o037yphy] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
}

.doc__topo[b-o9o037yphy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.doc__marca[b-o9o037yphy] {
    display: inline-flex;
    text-decoration: none;
    --marca-tamanho: 1.7rem;
}

.doc__corpo[b-o9o037yphy] {
    padding: clamp(1.25rem, 4vw, 2.75rem);
    border-radius: var(--cf-radius-l);
    box-shadow: 0 50px 120px -50px rgba(0, 0, 0, 0.8);
}

.doc__erro-titulo[b-o9o037yphy] {
    margin-bottom: 0.75rem;
    font-size: clamp(2rem, 6vw, 3rem);
}

.doc__tentar[b-o9o037yphy] {
    margin-top: 1rem;
}

/* ---------- Carregando ---------- */

.doc__esqueleto[b-o9o037yphy] {
    height: 1rem;
    margin-bottom: 0.85rem;
    border-radius: 6px;
}

.doc__esqueleto--titulo[b-o9o037yphy] {
    width: 60%;
    height: 2.75rem;
    margin-bottom: 1.5rem;
}

.doc__esqueleto--curto[b-o9o037yphy] {
    width: 40%;
}

/* ---------- Texto do documento (HTML vindo do Markdown) ---------- */

.doc__texto[b-o9o037yphy] {
    color: var(--cf-fg);
    line-height: 1.7;
    overflow-wrap: break-word;
}

.doc__texto[b-o9o037yphy]  h1 {
    margin: 0 0 0.5rem;
    max-width: 14ch;
    font-family: var(--cf-font-display);
    font-size: clamp(2.5rem, 8vw, 4rem);
    font-weight: 800;
    line-height: 0.95;
    text-wrap: balance;
}

/* Versão e vigência: primeira linha depois do título, em destaque discreto. */
.doc__texto[b-o9o037yphy]  h1 + p {
    display: inline-block;
    margin: 0.5rem 0 1.25rem;
    padding: 0.35rem 0.85rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 999px;
    color: var(--cf-blue-soft);
    font-size: 0.9375rem;
}

.doc__texto[b-o9o037yphy]  h2 {
    margin: 2.5rem 0 0.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--cf-line);
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.25;
    text-wrap: balance;
}

.doc__texto[b-o9o037yphy]  h3 {
    margin: 1.75rem 0 0.5rem;
    font-size: 1.0625rem;
    font-weight: 700;
}

.doc__texto[b-o9o037yphy]  p,
.doc__texto[b-o9o037yphy]  ul,
.doc__texto[b-o9o037yphy]  ol {
    max-width: 68ch;
    margin: 0 0 1rem;
}

.doc__texto[b-o9o037yphy]  p {
    color: var(--cf-fg-muted);
}

.doc__texto[b-o9o037yphy]  li {
    margin-bottom: 0.5rem;
    color: var(--cf-fg-muted);
}

.doc__texto[b-o9o037yphy]  li::marker {
    color: var(--cf-blue-soft);
}

.doc__texto[b-o9o037yphy]  ul,
.doc__texto[b-o9o037yphy]  ol {
    padding-left: 1.4rem;
}

.doc__texto[b-o9o037yphy]  strong {
    color: var(--cf-fg);
    font-weight: 700;
}

.doc__texto[b-o9o037yphy]  a {
    color: var(--cf-blue-soft);
    font-weight: 600;
    text-underline-offset: 3px;
}

.doc__texto[b-o9o037yphy]  a:hover {
    color: var(--cf-foam);
}

.doc__texto[b-o9o037yphy]  hr {
    margin: 2.5rem 0 1.5rem;
    border: 0;
    border-top: 1px solid var(--cf-line);
}

.doc__texto[b-o9o037yphy]  code {
    padding: 0.1em 0.4em;
    border-radius: 6px;
    background: rgba(154, 166, 204, 0.14);
    font-size: 0.9em;
}

/* Tabelas rolam na horizontal em tela estreita, sem estourar o painel. */
.doc__texto[b-o9o037yphy]  table {
    display: block;
    width: 100%;
    margin: 0 0 1.25rem;
    overflow-x: auto;
    border-collapse: collapse;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.doc__texto[b-o9o037yphy]  th,
.doc__texto[b-o9o037yphy]  td {
    min-width: 9rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--cf-line);
    text-align: left;
    vertical-align: top;
}

.doc__texto[b-o9o037yphy]  th {
    background: var(--cf-surface-strong);
    color: var(--cf-fg);
    font-weight: 700;
    white-space: nowrap;
}

.doc__texto[b-o9o037yphy]  td {
    color: var(--cf-fg-muted);
}

/* ---------- Rodapé do documento ---------- */

.doc__outro[b-o9o037yphy] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.75rem;
    padding-bottom: 2rem;
    color: var(--cf-fg-muted);
    font-size: 0.9375rem;
}

.doc__outro a[b-o9o037yphy] {
    padding-block: 0.5rem;
    color: var(--cf-fg);
    font-weight: 700;
    text-underline-offset: 4px;
}

.doc__outro a:hover[b-o9o037yphy] {
    color: var(--cf-blue-soft);
}

@media (max-width: 639px) {
    /* O poste da Cena ocupa a borda direita: dá folga para o painel não encostar nele. */
    .doc__conteudo[b-o9o037yphy] {
        padding-right: 14px;
    }
}
/* /Components/Plataforma/FaixaServicos.razor.rz.scp.css */
.faixa[b-c59rvny69z] {
    position: relative;
    overflow: hidden;
    padding-block: 1.75rem;
    background: var(--cf-ink-2);
}

.faixa__fita[b-c59rvny69z] {
    position: absolute;
    left: 0;
    right: 0;
    height: 5px;
}

.faixa__fita--topo[b-c59rvny69z] {
    top: 0;
}

.faixa__fita--base[b-c59rvny69z] {
    bottom: 0;
    animation-direction: reverse;
}

.faixa__trilho[b-c59rvny69z] {
    display: flex;
    width: max-content;
    animation: faixa-corre-b-c59rvny69z 55s linear infinite;
}

.faixa:hover .faixa__trilho[b-c59rvny69z] {
    animation-play-state: paused;
}

.faixa__grupo[b-c59rvny69z] {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 2.25rem;
    margin: 0;
    padding: 0 2.25rem 0 0;
    list-style: none;
}

.faixa__item[b-c59rvny69z] {
    font-family: var(--cf-font-display);
    font-size: clamp(2.5rem, 6vw, 4.25rem);
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

/* Alterna cheio e vazado para dar ritmo sem trocar de cor. */
.faixa__grupo .faixa__item:nth-of-type(even)[b-c59rvny69z] {
    color: transparent;
    -webkit-text-stroke: 1.5px var(--cf-foam);
}

/* Separador: losango de barbeiro (navalha aberta), alternando vermelho e azul. */
.faixa__sep[b-c59rvny69z] {
    width: 0.9rem;
    height: 0.9rem;
    flex-shrink: 0;
    border-radius: 3px;
    background: var(--cf-red);
    transform: rotate(45deg);
}

.faixa__grupo .faixa__sep:nth-of-type(even)[b-c59rvny69z] {
    background: var(--cf-blue);
}

@keyframes faixa-corre-b-c59rvny69z {
    to { transform: translateX(-50%); }
}
/* /Components/Plataforma/Marca.razor.rz.scp.css */
.marca[b-7nuohf98y1] {
    --marca-tamanho: 1.6rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    font-size: var(--marca-tamanho);
    line-height: 1;
    color: var(--cf-fg, #f1f4fb);
}

.marca__poste[b-7nuohf98y1] {
    position: relative;
    display: block;
    width: 0.46em;
    height: 1.1em;
    border-radius: 999px;
    border: 0.06em solid rgba(241, 244, 251, 0.9);
    background-image: repeating-linear-gradient(
        135deg,
        var(--cf-red, #e5383b) 0 14px,
        var(--cf-foam, #f1f4fb) 14px 28px,
        var(--cf-blue, #3d6bff) 28px 42px,
        var(--cf-foam, #f1f4fb) 42px 56px
    );
    background-size: 100% 79.2px;
    animation: marca-gira-b-7nuohf98y1 2.8s linear infinite;
    box-shadow: 0 0 0.6em rgba(138, 165, 255, 0.35);
}

/* Brilho do vidro do poste */
.marca__poste[b-7nuohf98y1]::after {
    content: '';
    position: absolute;
    top: 8%;
    bottom: 8%;
    left: 22%;
    width: 16%;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
}

.marca__nome[b-7nuohf98y1] {
    font-family: var(--cf-font-display, 'Big Shoulders Display', sans-serif);
    font-size: 1.28em;
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 0.9;
    padding-bottom: 0.06em;
}

@keyframes marca-gira-b-7nuohf98y1 {
    to { background-position-y: -79.2px; }
}
/* /Components/Plataforma/MenuConta.razor.rz.scp.css */
.conta-barra[b-c5lrk6p5fl] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.conta[b-c5lrk6p5fl] {
    position: relative;
}

.conta__botao[b-c5lrk6p5fl] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 44px;
    padding: 0.25rem 0.75rem 0.25rem 0.3rem;
    border: 1px solid var(--cf-line);
    border-radius: 999px;
    color: var(--cf-fg);
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}

.conta__botao[b-c5lrk6p5fl]::-webkit-details-marker {
    display: none;
}

.conta__inicial[b-c5lrk6p5fl] {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--cf-blue-soft);
    color: var(--cf-ink-2);
    font-weight: 700;
}

.conta__nome-curto[b-c5lrk6p5fl] {
    max-width: 9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 520px) {
    .conta__nome-curto[b-c5lrk6p5fl] {
        display: none;
    }

    .conta__botao[b-c5lrk6p5fl] {
        padding-right: 0.3rem;
    }
}

.conta__painel[b-c5lrk6p5fl] {
    position: absolute;
    right: 0;
    top: calc(100% + 0.5rem);
    z-index: 50;
    display: grid;
    gap: 0.15rem;
    min-width: 14rem;
    padding: 0.75rem;
    border: 1px solid var(--cf-line);
    border-radius: 14px;
    background: var(--cf-ink-2);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.conta__nome[b-c5lrk6p5fl],
.conta__email[b-c5lrk6p5fl] {
    margin: 0;
    overflow-wrap: anywhere;
}

.conta__nome[b-c5lrk6p5fl] {
    color: var(--cf-fg);
    font-weight: 700;
}

.conta__email[b-c5lrk6p5fl] {
    padding-bottom: 0.5rem;
    margin-bottom: 0.25rem;
    border-bottom: 1px solid var(--cf-line);
    color: var(--cf-fg-muted);
    font-size: 0.875rem;
}

.conta__item[b-c5lrk6p5fl] {
    display: block;
    width: 100%;
    padding: 0.6rem 0.5rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--cf-fg);
    font: inherit;
    font-weight: 600;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.conta__item:hover[b-c5lrk6p5fl] {
    background: rgba(154, 166, 204, 0.12);
}
/* /Components/Plataforma/Passos.razor.rz.scp.css */
.passos[b-zm802pjt1r] {
    position: relative;
    display: grid;
    gap: clamp(2rem, 5vw, 3rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 860px) {
    .passos[b-zm802pjt1r] {
        grid-template-columns: repeat(3, 1fr);
        gap: clamp(1.5rem, 4vw, 3.5rem);
    }

    /* Trilho de poste ligando os números; se desenha conforme a seção passa pela tela. */
    .passos[b-zm802pjt1r]::before {
        content: '';
        position: absolute;
        top: 2.75rem;
        left: 2.75rem;
        right: 2.75rem;
        height: 6px;
        border-radius: 999px;
        background-image: repeating-linear-gradient(135deg, var(--cf-red) 0 14px, var(--cf-foam) 14px 28px, var(--cf-blue) 28px 42px, var(--cf-foam) 42px 56px);
        background-size: var(--cf-pole-h) 100%;
        transform-origin: left;
        animation: cf-pole-x 2.4s linear infinite;
    }

    @supports (animation-timeline: view()) {
        .passos[b-zm802pjt1r]::before {
            animation: passos-trilho-b-zm802pjt1r linear both, cf-pole-x 2.4s linear infinite;
            animation-timeline: view(), auto;
            animation-range: entry 10% cover 55%, normal;
        }
    }
}

@keyframes passos-trilho-b-zm802pjt1r {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

.passo[b-zm802pjt1r] {
    position: relative;
    display: grid;
    gap: 0.6rem;
    align-content: start;
}

.passo__num[b-zm802pjt1r] {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 5.5rem;
    height: 5.5rem;
    margin-bottom: 0.75rem;
    border-radius: 50%;
    background: var(--cf-ink);
    border: 2px solid var(--cf-foam);
    font-family: var(--cf-font-display);
    font-size: 3.25rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 0 0 8px var(--cf-bg, var(--cf-ink));
}

.passo__titulo[b-zm802pjt1r] {
    margin: 0;
    font-family: var(--cf-font-display);
    font-size: clamp(1.9rem, 3vw, 2.4rem);
    font-weight: 800;
    line-height: 1;
}

.passo__texto[b-zm802pjt1r] {
    margin: 0;
    max-width: 36ch;
    color: var(--cf-fg-muted);
}
/* /Components/Plataforma/PerguntasFrequentes.razor.rz.scp.css */
.faq[b-7px7npqiex] {
    display: grid;
    border-top: 1px solid var(--cf-line);
}

.faq__item[b-7px7npqiex] {
    border-bottom: 1px solid var(--cf-line);
}

.faq__pergunta[b-7px7npqiex] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: 68px;
    padding-block: 1rem;
    font-size: clamp(1.125rem, 2vw, 1.375rem);
    font-weight: 700;
    line-height: 1.3;
    cursor: pointer;
    list-style: none;
    transition: color 0.2s;
}

.faq__pergunta[b-7px7npqiex]::-webkit-details-marker {
    display: none;
}

.faq__pergunta:hover[b-7px7npqiex] {
    color: var(--cf-blue-soft);
}

/* Mais que vira menos: duas barras, a vertical gira e some. */
.faq__mais[b-7px7npqiex] {
    position: relative;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 50%;
    transition: background-color 0.25s, border-color 0.25s, transform 0.4s var(--cf-ease);
}

.faq__mais[b-7px7npqiex]::before,
.faq__mais[b-7px7npqiex]::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.85rem;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform 0.4s var(--cf-ease);
}

.faq__mais[b-7px7npqiex]::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq__item[open] .faq__mais[b-7px7npqiex] {
    background: var(--cf-foam);
    border-color: var(--cf-foam);
    color: var(--cf-ink);
    transform: rotate(180deg);
}

.faq__item[open] .faq__mais[b-7px7npqiex]::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.faq__resposta[b-7px7npqiex] {
    padding-bottom: 1.5rem;
}

.faq__resposta p[b-7px7npqiex] {
    margin: 0;
    max-width: 64ch;
    color: var(--cf-fg-muted);
}

/* Abertura suave onde o navegador anima o conteúdo do <details>. */
@supports selector(::details-content) {
    .faq__item[b-7px7npqiex]::details-content {
        block-size: 0;
        overflow: hidden;
        transition: block-size 0.4s var(--cf-ease), content-visibility 0.4s allow-discrete;
    }

    .faq__item[open][b-7px7npqiex]::details-content {
        block-size: auto;
    }
}
/* /Components/Plataforma/PlanoCard.razor.rz.scp.css */
/* Borda com o poste girando em volta (conic-gradient). Sem suporte a @property, a borda fica estática. */
.plano[b-o6s8e2nt2t] {
    position: relative;
    width: 100%;
    max-width: 480px;
    padding: 3px;
    border-radius: 34px;
    background: conic-gradient(from var(--cf-angulo), var(--cf-red), var(--cf-foam), var(--cf-blue), var(--cf-foam), var(--cf-red));
    animation: plano-gira-b-o6s8e2nt2t 7s linear infinite;
    box-shadow: 0 50px 120px -50px rgba(61, 107, 255, 0.75);
}

@keyframes plano-gira-b-o6s8e2nt2t {
    to { --cf-angulo: 360deg; }
}

.plano__corpo[b-o6s8e2nt2t] {
    position: relative;
    display: grid;
    gap: 1.25rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border-radius: 31px;
    background: var(--cf-ink-2);
    overflow: hidden;
}

.plano__nome[b-o6s8e2nt2t] {
    margin: 0;
    font-weight: 700;
    color: var(--cf-blue-soft);
}

.plano__preco[b-o6s8e2nt2t] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
    line-height: 0.9;
}

.plano__moeda[b-o6s8e2nt2t] {
    font-family: var(--cf-font-display);
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--cf-fg-muted);
}

.plano__valor[b-o6s8e2nt2t] {
    font-family: var(--cf-font-display);
    font-size: clamp(5.5rem, 16vw, 8rem);
    font-weight: 800;
    letter-spacing: -0.01em;
}

.plano__ciclo[b-o6s8e2nt2t] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--cf-fg-muted);
}

.plano__nota[b-o6s8e2nt2t] {
    margin: -0.25rem 0 0;
    color: var(--cf-fg-muted);
}

.plano__itens[b-o6s8e2nt2t] {
    display: grid;
    gap: 0.7rem;
    margin: 0.25rem 0 0.5rem;
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--cf-line);
    list-style: none;
}

.plano__item[b-o6s8e2nt2t] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: start;
    line-height: 1.4;
}

.plano__check[b-o6s8e2nt2t] {
    width: 1.35rem;
    height: 1.35rem;
    padding: 0.2rem;
    border-radius: 50%;
    background: rgba(61, 220, 151, 0.16);
    stroke: var(--cf-ok);
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 20;
}

/* O tique se desenha quando o cartão entra na tela; sem JS o tique já está desenhado. */
.plano[data-in] .plano__check path[b-o6s8e2nt2t] {
    stroke-dasharray: 20;
    animation: plano-tique-b-o6s8e2nt2t 0.7s ease-out backwards;
}

.plano[data-in] .plano__item:nth-child(1) .plano__check path[b-o6s8e2nt2t] { animation-delay: 0.3s; }
.plano[data-in] .plano__item:nth-child(2) .plano__check path[b-o6s8e2nt2t] { animation-delay: 0.4s; }
.plano[data-in] .plano__item:nth-child(3) .plano__check path[b-o6s8e2nt2t] { animation-delay: 0.5s; }
.plano[data-in] .plano__item:nth-child(4) .plano__check path[b-o6s8e2nt2t] { animation-delay: 0.6s; }
.plano[data-in] .plano__item:nth-child(5) .plano__check path[b-o6s8e2nt2t] { animation-delay: 0.7s; }
.plano[data-in] .plano__item:nth-child(6) .plano__check path[b-o6s8e2nt2t] { animation-delay: 0.8s; }
.plano[data-in] .plano__item:nth-child(7) .plano__check path[b-o6s8e2nt2t] { animation-delay: 0.9s; }
.plano[data-in] .plano__item:nth-child(8) .plano__check path[b-o6s8e2nt2t] { animation-delay: 1s; }

@keyframes plano-tique-b-o6s8e2nt2t {
    from { stroke-dashoffset: 20; }
}

.plano__garantia[b-o6s8e2nt2t] {
    margin: 0;
    font-size: 0.9375rem;
    text-align: center;
    color: var(--cf-fg-muted);
}
/* /Components/Plataforma/PlataformaNav.razor.rz.scp.css */
.nav[b-jx7cfta1xu] {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 40;
    background: rgba(10, 16, 36, 0.55);
    -webkit-backdrop-filter: blur(16px) saturate(1.3);
    backdrop-filter: blur(16px) saturate(1.3);
    border-bottom: 1px solid var(--cf-line);
}

/* Onde há animação ligada ao scroll, o vidro nasce transparente e engrossa nos primeiros 120px. */
@supports (animation-timeline: scroll()) {
    .nav[b-jx7cfta1xu] {
        background: transparent;
        border-bottom-color: transparent;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        animation: nav-vidro-b-jx7cfta1xu linear both;
        animation-timeline: scroll(root);
        animation-range: 0 140px;
    }

    .nav__fita[b-jx7cfta1xu] {
        transform-origin: left center;
        animation: nav-progresso-b-jx7cfta1xu linear both, cf-pole-x 2.4s linear infinite;
        animation-timeline: scroll(root), auto;
    }
}

@keyframes nav-vidro-b-jx7cfta1xu {
    to {
        background: rgba(10, 16, 36, 0.72);
        border-bottom-color: rgba(154, 166, 204, 0.18);
        -webkit-backdrop-filter: blur(16px) saturate(1.3);
        backdrop-filter: blur(16px) saturate(1.3);
    }
}

@keyframes nav-progresso-b-jx7cfta1xu {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

.nav__fita[b-jx7cfta1xu] {
    height: 3px;
}

.nav__barra[b-jx7cfta1xu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 68px;
}

.nav__marca[b-jx7cfta1xu] {
    display: inline-flex;
    text-decoration: none;
    --marca-tamanho: 1.7rem;
}

.nav__links[b-jx7cfta1xu] {
    display: none;
    gap: clamp(1rem, 2.4vw, 2.25rem);
}

.nav__links a[b-jx7cfta1xu] {
    position: relative;
    padding-block: 0.5rem;
    color: var(--cf-fg-muted);
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}

.nav__links a[b-jx7cfta1xu]::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--cf-foam);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s var(--cf-ease);
}

.nav__links a:hover[b-jx7cfta1xu],
.nav__links a:focus-visible[b-jx7cfta1xu] {
    color: var(--cf-fg);
}

.nav__links a:hover[b-jx7cfta1xu]::after,
.nav__links a:focus-visible[b-jx7cfta1xu]::after {
    transform: scaleX(1);
}

.nav__acoes[b-jx7cfta1xu] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.nav__rotulo-curto[b-jx7cfta1xu] {
    display: inline;
}

.nav__rotulo-longo[b-jx7cfta1xu] {
    display: none;
}

@media (min-width: 640px) {
    .nav__rotulo-curto[b-jx7cfta1xu] {
        display: none;
    }

    .nav__rotulo-longo[b-jx7cfta1xu] {
        display: inline;
    }
}

@media (min-width: 960px) {
    .nav__links[b-jx7cfta1xu] {
        display: flex;
    }
}
/* /Components/Plataforma/PrevisaoBarbearia.razor.rz.scp.css */
.prev[b-6hgrmaok37] {
    width: 100%;
    max-width: 520px;
    border-radius: 18px;
    border: 1px solid var(--cf-line-strong);
    background: var(--cf-ink-2);
    box-shadow: 0 40px 80px -40px rgba(61, 107, 255, 0.55);
    overflow: hidden;
}

.prev__barra[b-6hgrmaok37] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.7rem 0.9rem;
    border-bottom: 1px solid var(--cf-line);
    background: var(--cf-ink-3);
}

.prev__pontos[b-6hgrmaok37] {
    display: inline-flex;
    gap: 0.35rem;
}

.prev__pontos i[b-6hgrmaok37] {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    background: var(--cf-line-strong);
}

.prev__pontos i:first-child[b-6hgrmaok37] {
    background: var(--cf-red);
}

.prev__endereco[b-6hgrmaok37] {
    display: flex;
    align-items: center;
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    background: var(--cf-ink);
    font-size: 0.875rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prev__cadeado[b-6hgrmaok37] {
    flex-shrink: 0;
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.4rem;
    stroke: var(--cf-ok);
    stroke-width: 1.4;
}

.prev__https[b-6hgrmaok37],
.prev__dominio[b-6hgrmaok37] {
    color: var(--cf-fg-muted);
}

.prev__slug[b-6hgrmaok37] {
    font-weight: 700;
    animation: prev-tique-b-6hgrmaok37 0.45s var(--cf-ease);
}

.prev__endereco--vazio .prev__slug[b-6hgrmaok37] {
    color: var(--cf-fg-muted);
    font-weight: 500;
}

.prev__tela[b-6hgrmaok37] {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 0.6rem;
    padding: clamp(2rem, 6vw, 3.25rem) 1.5rem clamp(1.75rem, 5vw, 2.5rem);
    text-align: center;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(61, 107, 255, 0.28), transparent 70%),
        var(--cf-ink);
}

.prev__poste[b-6hgrmaok37] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
}

.prev__nome[b-6hgrmaok37] {
    margin: 0;
    max-width: 14ch;
    font-family: var(--cf-font-display);
    font-size: clamp(2.5rem, 8vw, 3.75rem);
    font-weight: 800;
    line-height: 0.92;
    overflow-wrap: anywhere;
    text-wrap: balance;
    animation: prev-tique-b-6hgrmaok37 0.45s var(--cf-ease);
}

.prev__nome--vazio[b-6hgrmaok37] {
    color: var(--cf-fg-muted);
}

.prev__boas[b-6hgrmaok37] {
    margin: 0;
    color: var(--cf-fg-muted);
}

.prev__botoes[b-6hgrmaok37] {
    display: grid;
    gap: 0.5rem;
    width: min(100%, 220px);
    margin-top: 0.75rem;
}

.prev__botao[b-6hgrmaok37] {
    display: grid;
    place-items: center;
    min-height: 42px;
    border: 1px solid var(--cf-line-strong);
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 600;
}

.prev__botao--p[b-6hgrmaok37] {
    background: var(--cf-foam);
    border-color: var(--cf-foam);
    color: var(--cf-ink);
}

@keyframes prev-tique-b-6hgrmaok37 {
    from { opacity: 0.2; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}
/* /Components/Plataforma/Problemas.razor.rz.scp.css */
.prob[b-geno88y53a] {
    display: grid;
    gap: clamp(2rem, 5vw, 4rem);
}

@media (min-width: 860px) {
    .prob[b-geno88y53a] {
        grid-template-columns: repeat(3, 1fr);
        align-items: start;
    }

    /* Alturas escalonadas: o olho anda em zigue-zague em vez de ler três colunas iguais. */
    .prob__item:nth-child(2)[b-geno88y53a] {
        margin-top: 3.5rem;
    }

    .prob__item:nth-child(3)[b-geno88y53a] {
        margin-top: 1.25rem;
    }
}

.prob__arte[b-geno88y53a] {
    display: block;
    width: 100%;
    max-width: 260px;
    margin-bottom: 1.5rem;
    padding: 1.1rem;
    border-radius: var(--cf-radius-l);
    background: var(--cf-surface);
    border: 1px solid var(--cf-line);
    color: var(--cf-foam);
    overflow: visible;
}

.prob__alt[b-geno88y53a] {
    stroke: var(--cf-blue-soft);
}

.prob__titulo[b-geno88y53a] {
    margin: 0 0 0.5rem;
    font-family: var(--cf-font-display);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}

.prob__texto[b-geno88y53a] {
    margin: 0;
    max-width: 34ch;
    color: var(--cf-fg-muted);
}

/* zap: o balão novo chega e o contador pulsa */
.prob__balao[b-geno88y53a] {
    animation: prob-chega-b-geno88y53a 4.5s var(--cf-ease) infinite;
}

.prob__aviso[b-geno88y53a] {
    transform-box: fill-box;
    transform-origin: center;
    animation: prob-pulsa-b-geno88y53a 4.5s ease-in-out infinite;
}

@keyframes prob-chega-b-geno88y53a {
    0%, 18% { opacity: 0; transform: translateY(12px); }
    28%, 100% { opacity: 1; transform: none; }
}

@keyframes prob-pulsa-b-geno88y53a {
    0%, 26% { transform: scale(1); }
    32% { transform: scale(1.3); }
    40%, 100% { transform: scale(1); }
}

/* choque de horário: o segundo card desliza até cobrir o primeiro e o alerta acende */
.prob__card-dois[b-geno88y53a] {
    animation: prob-desliza-b-geno88y53a 4.5s var(--cf-ease) infinite;
}

.prob__alerta[b-geno88y53a] {
    transform-box: fill-box;
    transform-origin: center;
    animation: prob-alerta-b-geno88y53a 4.5s ease-in-out infinite;
}

@keyframes prob-desliza-b-geno88y53a {
    0%, 15% { transform: translate(34px, 20px); opacity: 0; }
    35%, 100% { transform: none; opacity: 1; }
}

@keyframes prob-alerta-b-geno88y53a {
    0%, 36% { opacity: 0; transform: scale(0.4); }
    46%, 100% { opacity: 1; transform: scale(1); }
}

/* conta do mês: risca as linhas e a dúvida balança */
.prob__risco[b-geno88y53a] {
    stroke: var(--cf-red);
    stroke-dasharray: 180;
    animation: prob-risca-b-geno88y53a 4.5s ease-in-out infinite;
}

.prob__interroga[b-geno88y53a] {
    transform-box: fill-box;
    transform-origin: center;
    animation: prob-balanca-b-geno88y53a 4.5s ease-in-out infinite;
}

@keyframes prob-risca-b-geno88y53a {
    0%, 20% { stroke-dashoffset: 180; }
    55%, 100% { stroke-dashoffset: 0; }
}

@keyframes prob-balanca-b-geno88y53a {
    0%, 55% { transform: rotate(0); }
    62% { transform: rotate(-7deg); }
    70% { transform: rotate(6deg); }
    78%, 100% { transform: rotate(0); }
}
/* /Components/Plataforma/RecursosBento.razor.rz.scp.css */
.bento[b-8dq7xpnejf] {
    display: grid;
    gap: 1rem;
}

@media (min-width: 900px) {
    .bento[b-8dq7xpnejf] {
        grid-template-columns: repeat(12, 1fr);
        grid-auto-rows: minmax(150px, auto);
        gap: 1.25rem;
    }

    .cel--agenda[b-8dq7xpnejf] { grid-column: span 7; grid-row: span 2; }
    .cel--endereco[b-8dq7xpnejf] { grid-column: span 5; }
    .cel--barbeiros[b-8dq7xpnejf] { grid-column: span 5; }
    .cel--painel[b-8dq7xpnejf] { grid-column: span 7; }
    .cel--fecha[b-8dq7xpnejf] { grid-column: span 5; }
    .cel--cadastro[b-8dq7xpnejf] { grid-column: span 12; }
}

/* ---------- Célula: raios e tons diferentes por hierarquia, sem sombra padrão ---------- */

.cel[b-8dq7xpnejf] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border-radius: var(--cf-radius-m);
    background: var(--cf-surface);
    border: 1px solid var(--cf-line);
    color: var(--cf-fg);
    overflow: hidden;
}

.cel--agenda[b-8dq7xpnejf],
.cel--painel[b-8dq7xpnejf] {
    border-radius: var(--cf-radius-l);
}

.cel--cadastro[b-8dq7xpnejf] {
    border-radius: var(--cf-radius-xl) var(--cf-radius-m) var(--cf-radius-xl) var(--cf-radius-m);
}

.cel__titulo[b-8dq7xpnejf] {
    margin: 0;
    font-family: var(--cf-font-display);
    font-size: clamp(1.9rem, 3.2vw, 2.6rem);
    font-weight: 800;
    line-height: 0.98;
    text-wrap: balance;
}

.cel__copy[b-8dq7xpnejf] {
    margin: 0;
    max-width: 46ch;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--cf-fg-muted);
}

.cel__texto[b-8dq7xpnejf] {
    display: grid;
    gap: 0.75rem;
}

.tom-tinta[b-8dq7xpnejf] {
    background: var(--cf-ink);
    border-color: transparent;
    --cf-fg: var(--cf-foam);
    --cf-fg-muted: var(--cf-mist);
    --cf-line: rgba(154, 166, 204, 0.18);
    --cf-line-strong: rgba(154, 166, 204, 0.36);
}

.tom-tinta[b-8dq7xpnejf]::after {
    content: '';
    position: absolute;
    inset: auto -20% -60% 30%;
    height: 90%;
    background: radial-gradient(closest-side, rgba(61, 107, 255, 0.45), transparent);
    pointer-events: none;
}

.tom-claro[b-8dq7xpnejf] {
    background: #fff;
}

.cel--endereco[b-8dq7xpnejf] {
    background: var(--cf-blue);
    border-color: transparent;
    color: #fff;
    --cf-fg-muted: rgba(255, 255, 255, 0.82);
}

.cel--cadastro[b-8dq7xpnejf] {
    background: linear-gradient(120deg, var(--cf-ink-3), var(--cf-ink-2));
    border-color: transparent;
    --cf-fg: var(--cf-foam);
    --cf-fg-muted: var(--cf-mist);
    --cf-line: rgba(154, 166, 204, 0.18);
    color: var(--cf-foam);
}

@media (min-width: 720px) {
    .cel--cadastro[b-8dq7xpnejf] {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 3rem;
    }
}

/* ---------- A: mini semana ---------- */

.semana[b-8dq7xpnejf] {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0.6rem;
    flex: 1;
    min-height: 240px;
}

.semana__col[b-8dq7xpnejf] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.semana__dia[b-8dq7xpnejf] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cf-fg-muted);
    text-align: center;
}

.semana__trilho[b-8dq7xpnejf] {
    position: relative;
    flex: 1;
    min-height: 200px;
    border-radius: 14px;
    border: 1px dashed var(--cf-line);
    background: repeating-linear-gradient(180deg, transparent 0 39px, var(--cf-line) 39px 40px);
}

.semana__bloco[b-8dq7xpnejf] {
    position: absolute;
    left: 6%;
    right: 6%;
    top: var(--t);
    height: var(--h);
    border-radius: 10px;
    background: linear-gradient(160deg, var(--cf-blue), #2a48c9);
    box-shadow: 0 8px 20px -10px rgba(61, 107, 255, 0.8);
    animation: bento-bloco-b-8dq7xpnejf 7s ease-in-out infinite;
    animation-delay: var(--d);
}

.semana__col:nth-child(even) .semana__bloco[b-8dq7xpnejf] {
    background: linear-gradient(160deg, #e5383b, #a5262a);
    box-shadow: 0 8px 20px -10px rgba(229, 56, 59, 0.7);
}

@keyframes bento-bloco-b-8dq7xpnejf {
    0%, 100% { transform: scaleY(1); filter: brightness(1); }
    50% { transform: scaleY(0.94); filter: brightness(1.25); }
}

/* ---------- B: endereço ---------- */

.endereco[b-8dq7xpnejf] {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    font-family: var(--cf-font-display);
    font-size: clamp(2.1rem, 4.4vw, 3.2rem);
    font-weight: 800;
    line-height: 1;
    overflow-wrap: anywhere;
}

.endereco__nome[b-8dq7xpnejf] {
    display: inline-block;
    position: relative;
    padding-right: 0.08em;
    clip-path: inset(0 0 0 0);
    animation: bento-digita-b-8dq7xpnejf 6s steps(12, end) infinite;
}

.endereco__nome[b-8dq7xpnejf]::after {
    content: '';
    position: absolute;
    right: 0;
    top: 12%;
    bottom: 8%;
    width: 0.07em;
    background: #fff;
    animation: bento-cursor-b-8dq7xpnejf 0.9s steps(1) infinite;
}

.endereco__dominio[b-8dq7xpnejf] {
    opacity: 0.72;
}

@keyframes bento-digita-b-8dq7xpnejf {
    0% { clip-path: inset(0 100% 0 0); }
    45%, 88% { clip-path: inset(0 0 0 0); }
    100% { clip-path: inset(0 100% 0 0); }
}

@keyframes bento-cursor-b-8dq7xpnejf {
    50% { opacity: 0; }
}

/* ---------- C: pilha de barbeiros ---------- */

.pilha[b-8dq7xpnejf] {
    display: flex;
    margin: 0;
    padding: 0.25rem 0.5rem;
    list-style: none;
}

.pilha__foto[b-8dq7xpnejf] {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-left: -0.75rem;
    border: 3px solid #fff;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cf-blue), var(--cf-blue-soft));
    color: #fff;
    font-family: var(--cf-font-display);
    font-size: 1.5rem;
    font-weight: 800;
    animation: bento-pula-b-8dq7xpnejf 5s var(--cf-ease) infinite;
    animation-delay: calc(var(--n) * 0.18s);
}

.pilha__foto:first-child[b-8dq7xpnejf] {
    margin-left: 0;
}

.pilha__foto:nth-child(2n)[b-8dq7xpnejf] {
    background: linear-gradient(135deg, var(--cf-red), #ff8c8e);
}

.pilha__foto:last-child[b-8dq7xpnejf] {
    background: var(--cf-ink);
}

@keyframes bento-pula-b-8dq7xpnejf {
    0%, 30%, 100% { transform: translateY(0); }
    12% { transform: translateY(-10px); }
}

/* ---------- D: painel ---------- */

.painel[b-8dq7xpnejf] {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.25rem;
}

.painel__kpis[b-8dq7xpnejf] {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    gap: clamp(1rem, 4vw, 2.5rem);
    margin: 0;
}

.kpi[b-8dq7xpnejf] {
    display: grid;
    gap: 0.15rem;
    margin: 0;
}

.kpi__rotulo[b-8dq7xpnejf] {
    font-size: 0.8125rem;
    color: var(--cf-fg-muted);
}

.kpi__n[b-8dq7xpnejf],
.kpi__fixo[b-8dq7xpnejf] {
    font-family: var(--cf-font-display);
    font-size: clamp(1.9rem, 4vw, 2.75rem);
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.kpi__n--atend[b-8dq7xpnejf]::after {
    counter-reset: bento-atend var(--cf-n);
    content: counter(bento-atend);
    --cf-n: 128;
}

.kpi__n--ticket[b-8dq7xpnejf]::before {
    content: 'R$ ';
    font-size: 0.55em;
    color: var(--cf-fg-muted);
}

.kpi__n--ticket[b-8dq7xpnejf]::after {
    counter-reset: bento-ticket var(--cf-n);
    content: counter(bento-ticket);
    --cf-n: 53;
}

/* Contagem só quando a célula entra na tela (data-in vem do JS; sem JS o valor final já está visível). */
.cel--painel[data-in] .kpi__n--atend[b-8dq7xpnejf]::after {
    animation: bento-conta-atend-b-8dq7xpnejf 1.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.cel--painel[data-in] .kpi__n--ticket[b-8dq7xpnejf]::after {
    animation: bento-conta-ticket-b-8dq7xpnejf 1.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

@keyframes bento-conta-atend-b-8dq7xpnejf {
    from { --cf-n: 0; }
    to { --cf-n: 128; }
}

@keyframes bento-conta-ticket-b-8dq7xpnejf {
    from { --cf-n: 0; }
    to { --cf-n: 53; }
}

.painel__barras[b-8dq7xpnejf] {
    display: flex;
    align-items: flex-end;
    gap: 0.6rem;
    height: 120px;
}

.painel__barra[b-8dq7xpnejf] {
    flex: 1;
    height: var(--h);
    border-radius: 8px 8px 3px 3px;
    background: linear-gradient(180deg, var(--cf-blue-soft), var(--cf-blue));
    transform-origin: bottom;
}

.painel__barra:nth-child(6)[b-8dq7xpnejf] {
    background: linear-gradient(180deg, #ff8c8e, var(--cf-red));
}

.cel--painel[data-in] .painel__barra[b-8dq7xpnejf] {
    animation: bento-barra-b-8dq7xpnejf 1.1s var(--cf-ease) backwards;
    animation-delay: calc(var(--n) * 90ms + 200ms);
}

@keyframes bento-barra-b-8dq7xpnejf {
    from { transform: scaleY(0); }
}

/* ---------- E: calendário que fecha ---------- */

.mes[b-8dq7xpnejf] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mes__dia[b-8dq7xpnejf] {
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    border-radius: 10px;
    border: 1px solid var(--cf-line);
    font-size: 0.875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.mes__dia--fechado[b-8dq7xpnejf],
.mes__dia--fecha[b-8dq7xpnejf] {
    color: #4a5678;
    background: repeating-linear-gradient(135deg, rgba(229, 56, 59, 0.16) 0 6px, transparent 6px 12px);
    border-color: rgba(229, 56, 59, 0.5);
}

.mes__dia--fecha[b-8dq7xpnejf] {
    animation: bento-fecha-b-8dq7xpnejf 5s var(--cf-ease) infinite;
}

@keyframes bento-fecha-b-8dq7xpnejf {
    0%, 30% {
        background: transparent;
        border-color: var(--cf-line);
        color: inherit;
        transform: none;
    }
    38% { transform: scale(1.18); }
    46%, 88% {
        background: repeating-linear-gradient(135deg, rgba(229, 56, 59, 0.16) 0 6px, transparent 6px 12px);
        border-color: rgba(229, 56, 59, 0.5);
        color: #4a5678;
        transform: none;
    }
    100% {
        background: transparent;
        border-color: var(--cf-line);
        color: inherit;
    }
}

/* ---------- F: cadastro ---------- */

.acesso[b-8dq7xpnejf] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 1.25rem 2.5rem;
    flex-shrink: 0;
}

/* Um bloco por forma de cadastro: controle em cima, nome e regra embaixo. */
.acesso__modo[b-8dq7xpnejf] {
    display: grid;
    justify-items: start;
    gap: 0.35rem;
    max-width: 15rem;
}

.acesso__nome[b-8dq7xpnejf] {
    margin: 0.35rem 0 0;
    font-weight: 700;
}

.acesso__desc[b-8dq7xpnejf] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--cf-fg-muted);
}

.chave[b-8dq7xpnejf] {
    position: relative;
    width: 4.25rem;
    height: 2.4rem;
    border-radius: 999px;
    background: var(--cf-blue);
    animation: bento-chave-b-8dq7xpnejf 6s ease-in-out infinite;
}

.chave__bola[b-8dq7xpnejf] {
    position: absolute;
    top: 0.3rem;
    left: 0.3rem;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background: #fff;
    animation: bento-bola-b-8dq7xpnejf 6s var(--cf-ease) infinite;
}

@keyframes bento-bola-b-8dq7xpnejf {
    0%, 40% { transform: translateX(1.85rem); }
    55%, 90% { transform: translateX(0); }
    100% { transform: translateX(1.85rem); }
}

@keyframes bento-chave-b-8dq7xpnejf {
    0%, 40% { background: var(--cf-blue); }
    55%, 90% { background: #56628f; }
    100% { background: var(--cf-blue); }
}

.ficha[b-8dq7xpnejf] {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1.1rem;
    border: 1.5px dashed var(--cf-line-strong);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--cf-foam);
    font: inherit;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
}

.ficha:hover[b-8dq7xpnejf] {
    border-color: var(--cf-blue-soft);
    background: rgba(255, 255, 255, 0.09);
}

.ficha__codigo[b-8dq7xpnejf] {
    font-family: ui-monospace, 'Cascadia Code', Menlo, Consolas, monospace;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.ficha__acao[b-8dq7xpnejf]::before {
    content: 'copiar';
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--cf-blue-soft);
}

.ficha[data-copied] .ficha__acao[b-8dq7xpnejf]::before {
    content: 'copiado!';
    color: var(--cf-ok);
}
/* /Components/Plataforma/RodapePlataforma.razor.rz.scp.css */
.rodape[b-erjh5svt30] {
    position: relative;
    padding-block: 3rem 2.5rem;
    background: var(--cf-ink-2);
}

.rodape__fita[b-erjh5svt30] {
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
}

.rodape__grade[b-erjh5svt30] {
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 720px) {
    .rodape__grade[b-erjh5svt30] {
        grid-template-columns: 1fr auto auto auto;
        gap: 3rem;
    }
}

.rodape__marca[b-erjh5svt30] {
    display: grid;
    gap: 0.6rem;
    --marca-tamanho: 1.9rem;
}

.rodape__frase[b-erjh5svt30],
.rodape__direitos[b-erjh5svt30] {
    margin: 0;
    color: var(--cf-fg-muted);
    font-size: 0.9375rem;
}

.rodape__links[b-erjh5svt30] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.5rem;
}

.rodape__links a[b-erjh5svt30] {
    padding-block: 0.5rem;
    color: var(--cf-fg);
    font-weight: 600;
    font-size: 0.9375rem;
    text-underline-offset: 4px;
}

.rodape__links a:hover[b-erjh5svt30] {
    color: var(--cf-blue-soft);
}

.rodape__suporte[b-erjh5svt30] {
    display: grid;
    gap: 0.25rem;
}

.rodape__suporte-titulo[b-erjh5svt30],
.rodape__suporte-canais[b-erjh5svt30] {
    margin: 0;
    font-size: 0.9375rem;
}

.rodape__suporte-titulo[b-erjh5svt30] {
    color: var(--cf-fg-muted);
}

.rodape__suporte-canais[b-erjh5svt30] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.6rem;
    color: var(--cf-fg-muted);
}

.rodape__suporte-canais a[b-erjh5svt30] {
    color: var(--cf-fg);
    font-weight: 600;
    text-underline-offset: 4px;
}

.rodape__suporte-canais a:hover[b-erjh5svt30] {
    color: var(--cf-blue-soft);
}
/* /Components/Plataforma/SecaoSinal.razor.rz.scp.css */
.sinal[b-52qfqy4psh] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: start;
}

@media (min-width: 900px) {
    .sinal[b-52qfqy4psh] {
        grid-template-columns: 1.4fr 1fr;
        gap: 3rem;
    }
}

.sinal__itens[b-52qfqy4psh] {
    margin: 1.25rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    line-height: 1.5;
}

.sinal__taxa[b-52qfqy4psh] {
    padding: 1.5rem;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    line-height: 1.5;
}

.sinal__taxa p[b-52qfqy4psh] {
    margin: 0;
}

.sinal__taxa-titulo[b-52qfqy4psh] {
    font-weight: 700;
    font-size: 1.0625rem;
}

.sinal__taxa-nota[b-52qfqy4psh] {
    opacity: 0.8;
    font-size: 0.9375rem;
}
/* /Components/Plataforma/TelaEstado.razor.rz.scp.css */
.tela-estado[b-ytsae2atpo] {
    display: grid;
    gap: 1.25rem;
    justify-items: start;
    width: min(100%, 560px);
    --marca-tamanho: 1.9rem;
}

.tela-estado__poste[b-ytsae2atpo] {
    width: min(100%, 220px);
    height: 8px;
    border-radius: 999px;
}

.tela-estado__titulo[b-ytsae2atpo] {
    max-width: 12ch;
    font-size: clamp(2.75rem, 9vw, 4.5rem);
}

.tela-estado__texto[b-ytsae2atpo] {
    max-width: 40ch;
}

.tela-estado[b-ytsae2atpo]  a {
    color: var(--cf-blue-soft);
    font-weight: 700;
    text-underline-offset: 4px;
}
/* /Components/Shared/Calendario/Calendario.razor.rz.scp.css */
/*
 * Calendário / seletor de data — ver docs/knowledge-base/componentes-compartilhados/spec.md,
 * seções 1.2 (estados visuais), 1.5 (responsividade) e 1.6 (acessibilidade).
 *
 * Superfície própria (sem borda), dias como pílulas, seleção sólida em --primary e contador
 * opcional em bolinha para dias com marcação.
 */

.calendario[b-0inbmsaj0h] {
    position: relative;
    width: 100%;
    max-width: 380px;
    padding: var(--space-12);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
    font-family: var(--font-family-base);
}

/* Mobile (< 640px): ocupa 100% do container disponível. */
@media (max-width: 639px) {
    .calendario[b-0inbmsaj0h] {
        max-width: none;
    }
}

.calendario__cabecalho[b-0inbmsaj0h] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
}

.calendario__nav[b-0inbmsaj0h],
.calendario__hoje[b-0inbmsaj0h],
.calendario__titulo[b-0inbmsaj0h] {
    border: 0;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    font-family: inherit;
    transition: background-color 0.15s;
}

.calendario__nav[b-0inbmsaj0h] {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: var(--font-size-xl);
    line-height: 1;
}

.calendario__hoje[b-0inbmsaj0h] {
    min-height: 36px;
    padding-inline: var(--space-12);
    border-radius: 999px;
    background-color: var(--bg);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
}

.calendario__nav:hover[b-0inbmsaj0h],
.calendario__hoje:hover[b-0inbmsaj0h],
.calendario__titulo:hover[b-0inbmsaj0h] {
    background-color: var(--primary-subtle);
}

.calendario__titulo[b-0inbmsaj0h] {
    flex: 1 1 auto;
    min-height: 44px;
    border-radius: 999px;
    font-family: var(--font-family-display);
    font-size: var(--font-size-xl);
    font-weight: 700;
    letter-spacing: 0.01em;
    text-align: center;
}

.calendario__seletor-rapido[b-0inbmsaj0h] {
    position: absolute;
    z-index: 10;
    inset-inline: var(--space-8);
    top: 60px;
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background: var(--bg);
    box-shadow: var(--shadow-2);
}

.calendario__seletor-rapido-cabecalho[b-0inbmsaj0h] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-16);
    margin-bottom: var(--space-12);
}

.calendario__seletor-rapido-cabecalho button[b-0inbmsaj0h] {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--bg-subtle);
    color: var(--text);
    cursor: pointer;
}

.calendario__seletor-rapido-meses[b-0inbmsaj0h] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-8);
}

.calendario__mes-rapido[b-0inbmsaj0h] {
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    background: var(--bg-subtle);
    color: var(--text);
    cursor: pointer;
    font-size: var(--font-size-sm);
    text-transform: capitalize;
}

.calendario__mes-rapido:hover[b-0inbmsaj0h] {
    background: var(--primary-subtle);
}

.calendario__mes-rapido--atual[b-0inbmsaj0h] {
    background: var(--primary);
    color: #FFFFFF;
}

.calendario__seletor-rapido-fechar[b-0inbmsaj0h] {
    width: 100%;
    margin-top: var(--space-12);
    min-height: 44px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

/* Região aria-live: presente no DOM (leitores de tela precisam do texto), invisível visualmente. */
.calendario__anuncio[b-0inbmsaj0h] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.calendario__legenda[b-0inbmsaj0h] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    margin-bottom: var(--space-4);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-align: center;
}

.calendario__grade[b-0inbmsaj0h] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.calendario__linha[b-0inbmsaj0h] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: var(--space-4);
}

.calendario__dia[b-0inbmsaj0h] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    height: 48px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--text);
    font-family: inherit;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: background-color 0.15s, transform 0.15s var(--ease-out);
}

/* Telas muito pequenas (< 360px): reduz a fonte do número, nunca a área de toque (seção 1.5). */
@media (max-width: 359px) {
    .calendario__dia[b-0inbmsaj0h] {
        font-size: var(--font-size-xs);
    }
}

.calendario__dia:hover:not(:disabled)[b-0inbmsaj0h] {
    background: var(--bg);
}

.calendario__dia:active:not(:disabled)[b-0inbmsaj0h] {
    transform: scale(0.94);
}

.calendario__dia:focus-visible[b-0inbmsaj0h] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.calendario__numero[b-0inbmsaj0h] {
    pointer-events: none;
}

/* Contador de marcações: bolinha no canto superior direito da célula. */
.calendario__contador[b-0inbmsaj0h] {
    position: absolute;
    top: -2px;
    right: 0;
    display: grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    padding-inline: 4px;
    border-radius: 999px;
    background-color: var(--primary);
    color: #FFFFFF;
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    pointer-events: none;
}

/* Fora do mês: preenchimento de grade, sem destaque de interação. */
.calendario__dia--fora-do-mes[b-0inbmsaj0h] {
    color: var(--text-muted);
    opacity: 0.5;
}

/* Hoje: anel fino --primary ao redor do número. */
.calendario__dia--hoje[b-0inbmsaj0h] {
    border-color: var(--primary);
    font-weight: var(--font-weight-semibold);
}

/* Passado: sem interação, texto apagado. */
.calendario__dia--passado[b-0inbmsaj0h] {
    color: var(--text-muted);
    cursor: default;
}

/* Fechado/indisponível: riscado, sem hover. */
.calendario__dia--fechado[b-0inbmsaj0h] {
    color: var(--text-muted);
    text-decoration: line-through;
    cursor: default;
}

/* Desabilitado genérico: sem cursor de clique, sem hover. */
.calendario__dia--desabilitado[b-0inbmsaj0h] {
    color: var(--text-muted);
    cursor: default;
}

.calendario__dia:disabled[b-0inbmsaj0h] {
    cursor: default;
}

.calendario__dia:disabled:hover[b-0inbmsaj0h] {
    background: transparent;
}

/* Lotado: ponto pequeno --warning abaixo do número (permanece clicável). */
.calendario__marcador-lotado[b-0inbmsaj0h] {
    position: absolute;
    bottom: 5px;
    left: 50%;
    transform: translateX(-50%);
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: var(--warning);
}

/* Selecionado: pílula sólida --primary, texto branco — precisa vencer os estados acima (mesma
   especificidade de classe única, regra mais adiante na cascata). */
.calendario__dia--selecionado[b-0inbmsaj0h] {
    background: var(--primary);
    border-color: var(--primary);
    color: #FFFFFF;
    text-decoration: none;
}

.calendario__dia--selecionado:hover:not(:disabled)[b-0inbmsaj0h] {
    background: var(--primary-hover);
}

/* Contador sobre dia selecionado: inverte para continuar legível. */
.calendario__dia--selecionado .calendario__contador[b-0inbmsaj0h] {
    background-color: var(--bg);
    color: var(--primary);
}

/* Intervalo (modo Intervalo, seção 1.4): destaque sutil --primary-subtle no intervalo inteiro
   (início, meio e fim) — token explicitamente diferente do "Selecionado" sólido de dia único. */
.calendario__dia--no-intervalo[b-0inbmsaj0h] {
    background: var(--primary-subtle);
    border-color: var(--primary-subtle);
    color: var(--text);
}

@media (prefers-reduced-motion: reduce) {
    .calendario__dia[b-0inbmsaj0h],
    .calendario__nav[b-0inbmsaj0h],
    .calendario__hoje[b-0inbmsaj0h],
    .calendario__titulo[b-0inbmsaj0h] {
        transition: none;
    }

    .calendario__dia:active:not(:disabled)[b-0inbmsaj0h] {
        transform: none;
    }
}
/* /Components/Shared/ConviteAvaliacao.razor.rz.scp.css */
/* Convite de avaliação — telas-cliente/spec.md, seção 6. */

.avaliacao[b-gxhklcohuh] {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: var(--space-12) var(--space-16);
    border-radius: var(--radius-l);
}

.avaliacao__icone[b-gxhklcohuh] {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--primary-subtle);
    color: var(--primary);
}

.avaliacao__titulo[b-gxhklcohuh] {
    margin: 0 0 var(--space-4);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.avaliacao__sub[b-gxhklcohuh] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.avaliacao__acoes[b-gxhklcohuh] {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--space-8);
    grid-column: 1 / -1;
}

.avaliacao__link[b-gxhklcohuh] {
    flex: 1 1 200px;
}
/* /Components/Shared/FechamentoAgenda/FechamentoAgenda.razor.rz.scp.css */
/*
 * Fechamento de Agenda — ver docs/knowledge-base/componentes-compartilhados/spec.md, seção 3.
 * Formulário em bottom sheet (mobile) / modal (desktop) com cabeçalho, corpo rolável e rodapé fixo;
 * bloqueios futuros como linhas, sem borda em tudo.
 */

.fechamento-agenda[b-qdhdfafbty] {
    width: 100%;
    font-family: var(--font-family-base);
}

.fechamento-agenda__botao-abrir[b-qdhdfafbty] {
    align-self: flex-start;
}

.fechamento-agenda__link[b-qdhdfafbty] {
    color: var(--primary);
}

/* Chips (variante simplificada, seção 3.5). */
.fechamento-agenda__chips[b-qdhdfafbty] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8);
}

.fechamento-agenda__chip[b-qdhdfafbty] {
    min-height: 44px;
    padding-inline: var(--space-16);
}

/* ---------- Bottom sheet (mobile) / modal (desktop) ---------- */

.fechamento-agenda__overlay[b-qdhdfafbty] {
    position: fixed;
    inset: 0;
    background: color-mix(in srgb, var(--text) 45%, transparent);
    z-index: 40;
}

.fechamento-agenda__modal[b-qdhdfafbty] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 41;
    display: flex;
    flex-direction: column;
    max-height: 92vh;
    border-radius: var(--radius-l) var(--radius-l) 0 0;
    background: var(--bg);
    box-shadow: var(--shadow-2);
    animation: fechamento-agenda-sheet-b-qdhdfafbty 0.25s var(--ease-out);
}

@keyframes fechamento-agenda-sheet-b-qdhdfafbty {
    from { transform: translateY(24px); opacity: 0; }
}

@media (min-width: 1024px) {
    .fechamento-agenda__modal[b-qdhdfafbty] {
        left: 50%;
        right: auto;
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 520px;
        max-height: 88vh;
        border-radius: var(--radius-l);
        animation: none;
    }
}

.fechamento-agenda__cabecalho[b-qdhdfafbty] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-16) var(--space-16) var(--space-8) var(--space-24);
}

.fechamento-agenda__titulo[b-qdhdfafbty] {
    margin: 0;
    font-size: var(--font-size-xl);
}

.fechamento-agenda__corpo[b-qdhdfafbty] {
    display: flex;
    flex-direction: column;
    gap: var(--space-24);
    padding: var(--space-8) var(--space-24) var(--space-16);
    overflow-y: auto;
}

.fechamento-agenda__campo[b-qdhdfafbty] {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    min-width: 0;
    border: none;
    padding: 0;
    margin: 0;
}

.fechamento-agenda__campo legend[b-qdhdfafbty] {
    padding: 0;
    margin-bottom: var(--space-8);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
}

.fechamento-agenda__campo > label[b-qdhdfafbty] {
    display: grid;
    gap: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

/* Segmented control (Passo 1) — radios nativos escondidos, label estilizado como segmento
   (mantém navegação por seta nativa do navegador entre radios do mesmo `name`, seção 3.7). */
.fechamento-agenda__segmentado[b-qdhdfafbty] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
}

.fechamento-agenda__segmento[b-qdhdfafbty] {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-inline: var(--space-16);
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: var(--font-size-sm);
    cursor: pointer;
}

.fechamento-agenda__segmento input[b-qdhdfafbty] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.fechamento-agenda__segmento:has(input:checked)[b-qdhdfafbty] {
    border-color: var(--primary);
    background: var(--primary-subtle);
    color: var(--primary);
    font-weight: var(--font-weight-semibold);
}

.fechamento-agenda__segmento:has(input:focus-visible)[b-qdhdfafbty] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.fechamento-agenda__horas[b-qdhdfafbty] {
    flex-direction: row;
    gap: var(--space-16);
}

.fechamento-agenda__horas label[b-qdhdfafbty] {
    display: grid;
    flex: 1;
    gap: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

.fechamento-agenda__opcao-escopo[b-qdhdfafbty] {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-height: 44px;
}

.fechamento-agenda__opcao-escopo input[b-qdhdfafbty],
.fechamento-agenda__checkbox input[b-qdhdfafbty] {
    width: 20px;
    height: 20px;
    accent-color: var(--primary);
}

.fechamento-agenda__rodape[b-qdhdfafbty] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-24) var(--space-24);
    border-top: 1px solid var(--border);
}

.fechamento-agenda__erro[b-qdhdfafbty] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

/* Aviso de colisão (seção 3.3) — aria-live="assertive" está no markup, não aqui. */
.fechamento-agenda__aviso-colisao[b-qdhdfafbty] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-8);
    margin-top: var(--space-12);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background: color-mix(in srgb, var(--warning) 14%, transparent);
    font-size: var(--font-size-sm);
}

.fechamento-agenda__aviso-colisao p[b-qdhdfafbty] {
    margin: 0;
}

.fechamento-agenda__lista-conflitos[b-qdhdfafbty] {
    margin: 0;
    padding-left: var(--space-16);
}

.fechamento-agenda__checkbox[b-qdhdfafbty] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-12);
}

/* ---------- Bloqueios futuros (seção 3.4) ---------- */

.fechamento-agenda__lista[b-qdhdfafbty] {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    margin-top: var(--space-24);
}

.fechamento-agenda__lista-titulo[b-qdhdfafbty] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.fechamento-agenda__vazio[b-qdhdfafbty] {
    padding-block: var(--space-24);
    font-size: var(--font-size-sm);
}

.fechamento-agenda__item[b-qdhdfafbty] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
    padding: var(--space-12) var(--space-16);
    border-radius: var(--radius-m);
    background: var(--bg-subtle);
}

.fechamento-agenda__item-info[b-qdhdfafbty] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    font-size: var(--font-size-sm);
}

.fechamento-agenda__item-periodo[b-qdhdfafbty] {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
}

.fechamento-agenda__item-barbeiro[b-qdhdfafbty],
.fechamento-agenda__item-motivo[b-qdhdfafbty] {
    color: var(--text-muted);
}

.fechamento-agenda__botao-remover[b-qdhdfafbty] {
    color: var(--text-muted);
}

.fechamento-agenda__botao-remover:hover[b-qdhdfafbty] {
    color: var(--danger);
}

.fechamento-agenda__confirmacao[b-qdhdfafbty] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8);
    font-size: var(--font-size-sm);
}

.fechamento-agenda__skeleton[b-qdhdfafbty] {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.fechamento-agenda__skeleton-item[b-qdhdfafbty] {
    height: 64px;
}

@media (prefers-reduced-motion: reduce) {
    .fechamento-agenda__modal[b-qdhdfafbty] {
        animation: none;
    }
}

/* ---------- Modo painel (ListaEmPainel): componente compacto na faixa de ações da página ---------- */

.fechamento-agenda--compacto[b-qdhdfafbty] {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8);
    width: auto;
}

.fechamento-agenda__lista--painel[b-qdhdfafbty] {
    position: absolute;
    right: 0;
    top: calc(100% + var(--space-8));
    z-index: 25;
    width: min(440px, 86vw);
    max-height: 60vh;
    margin: 0;
    padding: var(--space-16);
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius-m);
    background-color: var(--bg);
    box-shadow: var(--shadow-2);
}

/* O calendário ocupa a largura inteira do modal (em vez de ficar encostado à esquerda no desktop). */
.fechamento-agenda__modal[b-qdhdfafbty]  .calendario {
    max-width: none;
}

/* ---------- Seção "Controle de agenda": fundo vermelho opaco do tema, agrupa fechar período + lista ---------- */

.fechamento-agenda__controle[b-qdhdfafbty] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8);
    padding: var(--space-8) var(--space-12);
    border: 1px solid color-mix(in srgb, var(--danger) 45%, var(--bg));
    border-radius: var(--radius-m);
    background-color: color-mix(in srgb, var(--danger) 18%, var(--bg));
}

.fechamento-agenda__rotulo[b-qdhdfafbty] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-basis: 100%;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--danger);
    font: inherit;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.06em;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
}

.fechamento-agenda__seta[b-qdhdfafbty] {
    width: 6px;
    height: 6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s;
}

.fechamento-agenda__controle--aberto .fechamento-agenda__seta[b-qdhdfafbty] {
    transform: rotate(-135deg);
}

.fechamento-agenda__controle-conteudo[b-qdhdfafbty] {
    display: none;
    flex-basis: 100%;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8);
}

.fechamento-agenda__controle--aberto .fechamento-agenda__controle-conteudo[b-qdhdfafbty] {
    display: flex;
}

/* Desktop: sempre aberto, o rótulo deixa de ser clicável. */
@media (min-width: 1024px) {
    .fechamento-agenda__rotulo[b-qdhdfafbty] {
        justify-content: flex-start;
        cursor: default;
        pointer-events: none;
    }

    .fechamento-agenda__seta[b-qdhdfafbty] {
        display: none;
    }

    .fechamento-agenda__controle-conteudo[b-qdhdfafbty] {
        display: flex;
    }
}

/* Clique fora do painel de períodos fechados: camada transparente atrás dele. */
.fechamento-agenda__overlay-painel[b-qdhdfafbty] {
    position: fixed;
    inset: 0;
    z-index: 24;
    background: transparent;
}
/* /Components/Shared/Notificacoes/SinoNotificacoes.razor.rz.scp.css */
/* Paleta por contexto: o shell do tenant usa os tokens do design system (--bg/--text...), o portal da
   plataforma usa os --cf-* do tema escuro dele. */
.sino[b-ugisgdknbf] {
    --sino-bg: var(--bg);
    --sino-fg: var(--text);
    --sino-muted: var(--text-muted);
    --sino-border: var(--border);
    --sino-accent: var(--primary);
    --sino-danger: var(--danger);
    --sino-shadow: var(--shadow-2);
    position: relative;
}

.sino--plataforma[b-ugisgdknbf] {
    --sino-bg: var(--cf-ink-2);
    --sino-fg: var(--cf-fg);
    --sino-muted: var(--cf-fg-muted);
    --sino-border: var(--cf-line);
    --sino-accent: var(--cf-blue);
    --sino-danger: #ff6b6b;
    --sino-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.sino__botao[b-ugisgdknbf] {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--sino-border);
    border-radius: 50%;
    background: transparent;
    color: var(--sino-fg);
    cursor: pointer;
}

.sino__dot[b-ugisgdknbf] {
    position: absolute;
    top: 9px;
    right: 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--sino-danger);
    border: 2px solid var(--sino-bg);
}

/* Clique fora fecha o painel (mesmo padrão do menu do perfil). */
.sino__overlay[b-ugisgdknbf] {
    position: fixed;
    inset: 0;
    z-index: 29;
    background: transparent;
}

.sino__painel[b-ugisgdknbf] {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 30;
    display: grid;
    gap: 8px;
    width: min(360px, 88vw);
    max-height: min(70vh, 520px);
    overflow-y: auto;
    padding: 16px;
    border: 1px solid var(--sino-border);
    border-radius: 14px;
    background: var(--sino-bg);
    color: var(--sino-fg);
    box-shadow: var(--sino-shadow);
}

.sino__cabecalho[b-ugisgdknbf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sino__titulo[b-ugisgdknbf] {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.sino__marcar[b-ugisgdknbf] {
    border: 0;
    background: transparent;
    color: var(--sino-accent);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
}

.sino__marcar:disabled[b-ugisgdknbf] {
    color: var(--sino-muted);
    cursor: default;
}

.sino__vazio[b-ugisgdknbf] {
    margin: 8px 0;
    color: var(--sino-muted);
    font-size: 0.9375rem;
}

.sino__lista[b-ugisgdknbf] {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sino__item[b-ugisgdknbf] {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid var(--sino-border);
    border-radius: 10px;
}

.sino__item--nao-lida[b-ugisgdknbf] {
    border-color: var(--sino-accent);
}

.sino__item p[b-ugisgdknbf] {
    margin: 0;
}

.sino__item-titulo[b-ugisgdknbf] {
    font-weight: 700;
}

.sino__item-texto[b-ugisgdknbf] {
    overflow-wrap: anywhere;
    font-size: 0.9375rem;
}

.sino__item-data[b-ugisgdknbf],
.sino__item-status[b-ugisgdknbf] {
    color: var(--sino-muted);
    font-size: 0.8125rem;
}

.sino__acoes[b-ugisgdknbf] {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.sino__acao[b-ugisgdknbf] {
    flex: 1;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid var(--sino-border);
    border-radius: 999px;
    background: transparent;
    color: var(--sino-fg);
    font-weight: 600;
    cursor: pointer;
}

.sino__acao--primaria[b-ugisgdknbf] {
    border-color: var(--sino-accent);
    background: var(--sino-accent);
    color: #fff;
}

.sino__acao:disabled[b-ugisgdknbf] {
    opacity: 0.6;
    cursor: default;
}

.sino__link[b-ugisgdknbf] {
    margin-left: 6px;
    color: var(--sino-accent);
    font-weight: 600;
}

.sino__erro[b-ugisgdknbf] {
    margin: 0;
    color: var(--sino-danger);
    font-size: 0.875rem;
}
/* /Components/Shared/NovoAgendamentoAdmin.razor.rz.scp.css */
/*
 * Novo Agendamento (Admin/Owner) — botão "+ Agendamento" da Agenda (issue #21), ver
 * docs/knowledge-base/telas-admin/spec.md, seção 6.1. Mobile: bottom sheet; desktop: modal centralizado.
 * Estrutura: cabeçalho fixo, corpo rolável, rodapé de ações fixo.
 */

.novo-agendamento-admin__overlay[b-7so7l8470a] {
    position: fixed;
    inset: 0;
    background: color-mix(in srgb, var(--text) 45%, transparent);
    z-index: 40;
}

.novo-agendamento-admin__modal[b-7so7l8470a] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 41;
    display: flex;
    flex-direction: column;
    max-height: 92vh;
    border-radius: var(--radius-l) var(--radius-l) 0 0;
    background: var(--bg);
    box-shadow: var(--shadow-2);
    font-family: var(--font-family-base);
    animation: novo-agendamento-admin-sheet-b-7so7l8470a 0.25s var(--ease-out);
}

@keyframes novo-agendamento-admin-sheet-b-7so7l8470a {
    from { transform: translateY(24px); opacity: 0; }
}

@media (min-width: 1024px) {
    .novo-agendamento-admin__modal[b-7so7l8470a] {
        left: 50%;
        right: auto;
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 600px;
        max-height: 88vh;
        border-radius: var(--radius-l);
        animation: none;
    }
}

.novo-agendamento-admin__cabecalho[b-7so7l8470a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-16) var(--space-16) var(--space-8) var(--space-24);
}

.novo-agendamento-admin__titulo[b-7so7l8470a] {
    margin: 0;
    font-size: var(--font-size-xl);
}

.novo-agendamento-admin__corpo[b-7so7l8470a] {
    display: flex;
    flex-direction: column;
    gap: var(--space-24);
    padding: var(--space-8) var(--space-24) var(--space-16);
    overflow-y: auto;
}

.novo-agendamento-admin__passo[b-7so7l8470a] {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.novo-agendamento-admin__passo-titulo[b-7so7l8470a] {
    margin: 0;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
}

.novo-agendamento-admin__estado[b-7so7l8470a] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.novo-agendamento-admin__chips[b-7so7l8470a] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
}

.novo-agendamento-admin__chip[b-7so7l8470a] {
    min-height: 44px;
    padding-inline: var(--space-16);
}

.novo-agendamento-admin__chip--selecionado[b-7so7l8470a] {
    border-color: var(--primary);
    background: var(--primary);
    color: #FFFFFF;
}

.novo-agendamento-admin__resumo[b-7so7l8470a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-8);
    padding: var(--space-8) var(--space-8) var(--space-8) var(--space-16);
    background: var(--primary-subtle);
    border-radius: var(--radius-m);
}

.novo-agendamento-admin__resumo-texto[b-7so7l8470a] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    min-width: 0;
    font-weight: var(--font-weight-medium);
    color: var(--primary);
}

.novo-agendamento-admin__trocar[b-7so7l8470a] {
    color: var(--primary);
}

.novo-agendamento-admin__resultados[b-7so7l8470a] {
    display: grid;
    gap: var(--space-4);
    max-height: 220px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto;
}

.novo-agendamento-admin__resultado[b-7so7l8470a] {
    width: 100%;
    min-height: 48px;
    padding-inline: var(--space-16);
    border: none;
    border-radius: var(--radius-s);
    background: var(--bg-subtle);
    color: var(--text);
    font: inherit;
    font-size: var(--font-size-base);
    text-align: left;
    cursor: pointer;
}

.novo-agendamento-admin__resultado:hover[b-7so7l8470a] {
    background: var(--primary-subtle);
}

.novo-agendamento-admin__data-horario[b-7so7l8470a] {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

@media (min-width: 1024px) {
    .novo-agendamento-admin__data-horario[b-7so7l8470a] {
        flex-direction: row;
    }

    .novo-agendamento-admin__data-horario > *[b-7so7l8470a] {
        flex: 1;
    }
}

.novo-agendamento-admin__erro[b-7so7l8470a] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

.novo-agendamento-admin__rodape[b-7so7l8470a] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-24) var(--space-24);
    border-top: 1px solid var(--border);
}

@media (prefers-reduced-motion: reduce) {
    .novo-agendamento-admin__modal[b-7so7l8470a] {
        animation: none;
    }
}
/* /Components/Shared/ReagendarCta.razor.rz.scp.css */
/* CTA "Marcar o próximo corte" — telas-cliente/spec.md, seção 7. */

.reagendar[b-lwh7hwuobe] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12) var(--space-16);
    border-radius: var(--radius-l);
}

.reagendar__texto[b-lwh7hwuobe] {
    flex: 1 1 220px;
    min-width: 0;
}

.reagendar__titulo[b-lwh7hwuobe] {
    margin: 0 0 var(--space-4);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.reagendar__sub[b-lwh7hwuobe] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.reagendar__botao[b-lwh7hwuobe] {
    flex: 0 0 auto;
}

@media (max-width: 639px) {
    .reagendar__botao[b-lwh7hwuobe] {
        width: 100%;
    }
}
/* /Components/Shared/SeletorHorario/SeletorHorario.razor.rz.scp.css */
/*
 * Seletor de Horário — ver docs/knowledge-base/componentes-compartilhados/spec.md, seções 2.2
 * (estrutura/semântica), 2.3 (estados visuais), 2.5 (responsividade) e 2.6 (acessibilidade).
 *
 * CSS isolation do Blazor, mesmo padrão de Calendario.razor.css (issue #6).
 */

.seletor-horario[b-gvmx08crxn] {
    width: 100%;
    font-family: var(--font-family-base);
}

/* Região aria-live: presente no DOM, invisível visualmente (leitor de tela lê o texto). */
.seletor-horario__anuncio[b-gvmx08crxn] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Mobile (padrão, < 640px): 3 colunas. */
.seletor-horario__grade[b-gvmx08crxn] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-8);
}

/* Tablet (640-1023px) e Desktop (>= 1024px): 4-5 colunas (seção 2.5). */
@media (min-width: 640px) and (max-width: 1023px) {
    .seletor-horario__grade[b-gvmx08crxn] {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1024px) {
    .seletor-horario__grade[b-gvmx08crxn] {
        grid-template-columns: repeat(5, 1fr);
    }
}

.seletor-horario__slot[b-gvmx08crxn] {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-subtle);
    border: 2px solid transparent;
    border-radius: 999px;
    color: var(--text);
    font-family: inherit;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    padding: var(--space-8);
    transition: border-color 0.15s, transform 0.15s var(--ease-out);
}

.seletor-horario__slot:active:not(:disabled)[b-gvmx08crxn] {
    transform: scale(0.96);
}

@media (prefers-reduced-motion: reduce) {
    .seletor-horario__slot[b-gvmx08crxn],
    .seletor-horario__skeleton-bloco[b-gvmx08crxn] {
        transition: none;
        animation: none;
    }

    .seletor-horario__slot:active:not(:disabled)[b-gvmx08crxn] {
        transform: none;
    }
}

.seletor-horario__slot:hover:not(:disabled)[b-gvmx08crxn] {
    border-color: var(--primary);
}

.seletor-horario__slot:focus-visible[b-gvmx08crxn] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Selecionado: fundo --primary, texto branco (seção 2.3). */
.seletor-horario__slot--selecionado[b-gvmx08crxn] {
    background: var(--primary);
    border-color: var(--primary);
    color: #FFFFFF;
}

/* Indisponível (ocupado/bloqueado): riscado, não-interativo, sem hover — deliberadamente sem
   diferenciar "ocupado" de "bloqueado" (nota de UX da seção 2.3). */
.seletor-horario__slot--indisponivel[b-gvmx08crxn],
.seletor-horario__slot:disabled[b-gvmx08crxn] {
    background: transparent;
    color: var(--text-muted);
    text-decoration: line-through;
    cursor: default;
}

.seletor-horario__slot:disabled:hover[b-gvmx08crxn] {
    border-color: transparent;
}

/* Skeleton (design system, seção 5.7) — mesmo grid da grade real, blocos pulsantes no lugar dos
   horários, pra nunca deixar a tela em branco nem um slot antigo visível ao trocar dia/barbeiro. */
.seletor-horario__grade--skeleton[b-gvmx08crxn] {
    pointer-events: none;
}

.seletor-horario__skeleton-bloco[b-gvmx08crxn] {
    min-height: 44px;
    border-radius: 999px;
    background: var(--bg-subtle);
    animation: seletor-horario-pulso-b-gvmx08crxn 1.2s ease-in-out infinite;
}

@keyframes seletor-horario-pulso-b-gvmx08crxn {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Estado vazio (design system, seção 5.8) e estado de erro. */
.seletor-horario__estado[b-gvmx08crxn] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-8);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.seletor-horario__estado p[b-gvmx08crxn] {
    margin: 0;
}

.seletor-horario__botao-secundario[b-gvmx08crxn] {
    min-height: 44px;
    padding-inline: var(--space-16);
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--primary);
    cursor: pointer;
    font-family: inherit;
    font-size: var(--font-size-sm);
}

.seletor-horario__botao-secundario:hover:not(:disabled)[b-gvmx08crxn] {
    border-color: var(--primary);
}

.seletor-horario__botao-secundario:disabled[b-gvmx08crxn] {
    cursor: default;
    color: var(--text-muted);
}
/* /Components/Shared/Toast/ToastContainer.razor.rz.scp.css */
/*
 * Toast / notificação inline — design system, seção 5.5.
 * Mobile: topo, largura quase total. Desktop: canto superior direito, largura fixa confortável.
 */

.toast-container[b-p3j9xd4jxp] {
    position: fixed;
    top: var(--space-16);
    left: var(--space-16);
    right: var(--space-16);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    pointer-events: none;
}

@media (min-width: 1024px) {
    .toast-container[b-p3j9xd4jxp] {
        left: auto;
        right: var(--space-24);
        top: var(--space-24);
        width: 360px;
    }
}

.toast-container__toast[b-p3j9xd4jxp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
    padding: var(--space-12) var(--space-16);
    border-radius: 8px;
    border: 1px solid var(--border);
    background-color: var(--bg-subtle);
    color: var(--text);
    font-size: var(--font-size-sm);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    pointer-events: auto;
}

.toast-container__toast--sucesso[b-p3j9xd4jxp] {
    border-color: var(--success);
    color: var(--success);
}

.toast-container__toast--erro[b-p3j9xd4jxp] {
    border-color: var(--danger);
    color: var(--danger);
}

.toast-container__fechar[b-p3j9xd4jxp] {
    min-height: 44px;
    min-width: 44px;
    border: none;
    background: transparent;
    color: inherit;
    font-size: var(--font-size-lg);
    line-height: 1;
    cursor: pointer;
}
/* /Components/SuperAdmin/CampoEditavel.razor.rz.scp.css */
.campo-ed[b-37ljx6bonz] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem 1.25rem;
    padding: 1rem 0;
    border-top: 1px solid var(--cf-line);
}

.campo-ed__texto[b-37ljx6bonz] {
    min-width: 0;
}

.campo-ed__rotulo[b-37ljx6bonz] {
    display: block;
    font-weight: 700;
}

.campo-ed__ajuda[b-37ljx6bonz] {
    margin: 0.2rem 0 0;
    max-width: 52ch;
    color: var(--cf-fg-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.campo-ed__valor-linha[b-37ljx6bonz],
.campo-ed__form[b-37ljx6bonz] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.campo-ed__valor[b-37ljx6bonz] {
    font: 600 1.75rem/1 var(--cf-font-display);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}

.campo-ed__entrada[b-37ljx6bonz] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 44px;
    padding: 0 0.85rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: var(--cf-radius-s);
    background: var(--cf-surface);
}

.campo-ed__entrada:focus-within[b-37ljx6bonz] {
    border-color: var(--cf-blue-soft);
    box-shadow: 0 0 0 3px rgba(61, 107, 255, 0.25);
}

.campo-ed__input[b-37ljx6bonz] {
    width: 6.5ch;
    border: 0;
    background: transparent;
    color: inherit;
    font: 600 1.1rem/1 var(--cf-font-body);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.campo-ed__input:focus[b-37ljx6bonz] {
    outline: none;
}

.campo-ed__afixo[b-37ljx6bonz] {
    color: var(--cf-fg-muted);
    font-weight: 600;
}

.campo-ed__erro[b-37ljx6bonz] {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--cf-bad);
    font-weight: 600;
}

@media (max-width: 560px) {
    .campo-ed[b-37ljx6bonz] {
        grid-template-columns: 1fr;
    }

    .campo-ed__valor-linha[b-37ljx6bonz],
    .campo-ed__form[b-37ljx6bonz] {
        flex-wrap: wrap;
    }
}
/* /Components/SuperAdmin/DivisaoDoSinal.razor.rz.scp.css */
.divisao[b-9vhx2ynv6e] {
    margin: 0;
    padding: 1.25rem 0 0.25rem;
    border-top: 1px solid var(--cf-line);
}

.divisao__barra[b-9vhx2ynv6e] {
    display: flex;
    height: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--cf-surface-strong);
}

.divisao__cortefy[b-9vhx2ynv6e] {
    background: var(--cf-red);
    transition: width 0.35s var(--cf-ease);
}

.divisao__barbearia[b-9vhx2ynv6e] {
    flex: 1;
    background: var(--cf-blue);
}

.divisao__legenda[b-9vhx2ynv6e] {
    margin-top: 0.75rem;
    color: var(--cf-fg-muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.divisao__legenda strong[b-9vhx2ynv6e] {
    color: var(--cf-fg);
    font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
    .divisao__cortefy[b-9vhx2ynv6e] {
        transition: none;
    }
}
/* /Pages/Admin/Agenda.razor.rz.scp.css */
/*
 * Agenda do barbeiro — calendário de grade horária (referência: Outlook/Clockify).
 * Única tela com tratamento "expressivo" do redesenho: o resto do app é quieto de propósito.
 * Geometria da grade: tudo em minutos. Cada bloco recebe --ini (minuto de início), --dur (duração) e,
 * quando divide a coluna com outro, --faixa/--faixas; a grade define --base (minuto da primeira hora),
 * --horas (quantidade de linhas) e --hora (altura de 1h).
 */

.agenda[b-dyfcz78gn7] {
    --hora: 76px;
    --largura-eixo: 56px;
    gap: var(--space-16);
}

@media (max-width: 639px) {
    .agenda[b-dyfcz78gn7] {
        --hora: 64px;
        --largura-eixo: 44px;
    }
}

.agenda__restrito[b-dyfcz78gn7] {
    margin: 0;
    color: var(--text-muted);
}

/* ---------- Atalho de agendamentos novos ---------- */

.agenda__novos[b-dyfcz78gn7] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    min-height: 44px;
    padding: 0 var(--space-16);
    border: 1px solid var(--accent);
    border-radius: 999px;
    background-color: color-mix(in srgb, var(--accent) 12%, transparent);
    color: var(--accent);
    font: inherit;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
}

.agenda__novos-ponto[b-dyfcz78gn7] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--accent);
    animation: agenda-ponto-b-dyfcz78gn7 1.4s ease-out infinite;
}

@keyframes agenda-ponto-b-dyfcz78gn7 {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent); }
    100% { box-shadow: 0 0 0 9px transparent; }
}

/* ---------- Barra de navegação e visão ---------- */

.agenda__barra[b-dyfcz78gn7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
}

.agenda__navegacao[b-dyfcz78gn7] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    min-width: 0;
}

.agenda__periodo[b-dyfcz78gn7] {
    margin: 0 0 0 var(--space-8);
    font-size: 26px;
    line-height: 1;
    white-space: nowrap;
}

.agenda__periodo[b-dyfcz78gn7]::first-letter {
    text-transform: uppercase;
}

.agenda__controles[b-dyfcz78gn7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8);
}

.agenda__select[b-dyfcz78gn7] {
    width: auto;
    min-width: 180px;
    border-radius: 999px;
}

.agenda__toggle[b-dyfcz78gn7] {
    display: inline-flex;
    padding: 3px;
    border-radius: 999px;
    background-color: var(--bg-subtle);
}

.agenda__segmento[b-dyfcz78gn7] {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 38px;
    padding: 0 var(--space-16);
    border-radius: 999px;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}

.agenda__segmento input[b-dyfcz78gn7] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.agenda__segmento:has(input:checked)[b-dyfcz78gn7] {
    background-color: var(--bg);
    color: var(--primary);
    box-shadow: var(--shadow-1);
}

.agenda__segmento:has(input:focus-visible)[b-dyfcz78gn7] {
    outline: 2px solid var(--primary);
}

/* ---------- Faixa de dias da visão Dia ---------- */

.agenda__faixa-dias[b-dyfcz78gn7] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: var(--space-4);
}

.agenda__faixa-dia[b-dyfcz78gn7] {
    display: grid;
    justify-items: center;
    gap: 2px;
    min-height: 56px;
    padding: var(--space-8) 0;
    border: 0;
    border-radius: var(--radius-m);
    background-color: transparent;
    color: var(--text-muted);
    font: inherit;
    cursor: pointer;
    transition: background-color 0.15s;
}

.agenda__faixa-dia:hover[b-dyfcz78gn7] {
    background-color: var(--bg-subtle);
}

.agenda__faixa-dia-nome[b-dyfcz78gn7] {
    font-size: var(--font-size-xs);
}

.agenda__faixa-dia-numero[b-dyfcz78gn7] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text);
}

.agenda__faixa-dia--hoje .agenda__faixa-dia-numero[b-dyfcz78gn7] {
    color: var(--accent);
}

.agenda__faixa-dia--ativo[b-dyfcz78gn7] {
    background-color: var(--primary);
    color: #FFFFFF;
}

.agenda__faixa-dia--ativo:hover[b-dyfcz78gn7] {
    background-color: var(--primary-hover);
}

.agenda__faixa-dia--ativo .agenda__faixa-dia-numero[b-dyfcz78gn7] {
    color: #FFFFFF;
}

/* ---------- Estados ---------- */

.agenda__estado[b-dyfcz78gn7] {
    display: grid;
    justify-items: center;
    gap: var(--space-12);
    padding: var(--space-32) var(--space-16);
    border: 1px dashed var(--border);
    border-radius: var(--radius-m);
    color: var(--text-muted);
    text-align: center;
}

.agenda__estado p[b-dyfcz78gn7] {
    margin: 0;
}

.agenda__skeleton[b-dyfcz78gn7] {
    display: grid;
    gap: var(--space-8);
}

.agenda__skeleton-linha[b-dyfcz78gn7] {
    height: 72px;
}

/* ---------- Grade horária (Dia e Semana) ---------- */

.agenda__quadro[b-dyfcz78gn7] {
    border: 1px solid var(--border);
    border-radius: var(--radius-l);
    background-color: var(--bg);
    overflow: hidden;
}

.agenda__rolagem[b-dyfcz78gn7] {
    overflow-x: auto;
}

.agenda__grade[b-dyfcz78gn7] {
    --largura-coluna: 132px;
    display: grid;
    grid-template-columns: var(--largura-eixo) repeat(var(--colunas), minmax(var(--largura-coluna), 1fr));
    min-width: min-content;
}

.agenda__grade--unica[b-dyfcz78gn7] {
    --largura-coluna: 0px;
}

.agenda__canto[b-dyfcz78gn7] {
    border-bottom: 1px solid var(--border);
}

.agenda__cabecalho-coluna[b-dyfcz78gn7] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-4);
    border: 0;
    border-bottom: 1px solid var(--border);
    border-left: 1px solid var(--border);
    background-color: transparent;
    color: var(--text-muted);
    font: inherit;
    font-size: var(--font-size-sm);
    cursor: pointer;
}

.agenda__cabecalho-coluna:disabled[b-dyfcz78gn7] {
    cursor: default;
}

.agenda__cabecalho-coluna:not(:disabled):hover[b-dyfcz78gn7] {
    background-color: var(--bg-subtle);
}

.agenda__cabecalho-titulo[b-dyfcz78gn7] {
    font-weight: var(--font-weight-medium);
}

.agenda__cabecalho-numero[b-dyfcz78gn7] {
    display: grid;
    place-items: center;
    min-width: 34px;
    height: 34px;
    border-radius: 50%;
    color: var(--text);
    font-family: var(--font-family-display);
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.agenda__cabecalho-coluna--hoje .agenda__cabecalho-numero[b-dyfcz78gn7] {
    background-color: var(--accent);
    color: #FFFFFF;
}

.agenda__eixo[b-dyfcz78gn7] {
    position: relative;
    height: calc(var(--horas) * var(--hora));
}

.agenda__eixo-hora[b-dyfcz78gn7] {
    position: absolute;
    top: calc(var(--h) * var(--hora));
    right: var(--space-8);
    padding-top: 2px;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    font-variant-numeric: tabular-nums;
}

.agenda__coluna[b-dyfcz78gn7] {
    position: relative;
    height: calc(var(--horas) * var(--hora));
    border-left: 1px solid var(--border);
    background-image:
        linear-gradient(to bottom, var(--border) 1px, transparent 1px),
        linear-gradient(to bottom, color-mix(in srgb, var(--border) 40%, transparent) 1px, transparent 1px);
    background-size: 100% var(--hora), 100% var(--hora);
    background-position: 0 0, 0 calc(var(--hora) / 2);
}

.agenda__coluna--hoje[b-dyfcz78gn7] {
    background-color: color-mix(in srgb, var(--primary-subtle) 45%, transparent);
}

.agenda__coluna--fechada[b-dyfcz78gn7] {
    background-color: var(--bg-subtle);
}

/* ---------- Linha do horário atual ---------- */

.agenda__agora[b-dyfcz78gn7] {
    position: absolute;
    left: 0;
    right: 0;
    top: calc((var(--ini) - var(--base)) * var(--hora) / 60);
    z-index: 3;
    height: 2px;
    background-color: var(--accent);
    pointer-events: none;
}

.agenda__agora[b-dyfcz78gn7]::before {
    content: '';
    position: absolute;
    left: -5px;
    top: -4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--accent);
}

/* ---------- Blocos ---------- */

.agenda__bloco-bloqueio[b-dyfcz78gn7] {
    position: absolute;
    left: 0;
    right: 0;
    top: calc((var(--ini) - var(--base)) * var(--hora) / 60);
    height: calc(var(--dur) * var(--hora) / 60);
    display: flex;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-4) var(--space-8);
    background-image: repeating-linear-gradient(
        135deg,
        color-mix(in srgb, var(--border) 55%, transparent) 0 6px,
        transparent 6px 12px
    );
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    overflow: hidden;
}

.agenda__bloco-agendamento[b-dyfcz78gn7] {
    position: absolute;
    top: calc((var(--ini) - var(--base)) * var(--hora) / 60 + 1px);
    height: calc(var(--dur) * var(--hora) / 60 - 2px);
    left: calc(var(--faixa, 0) * (100% / var(--faixas, 1)) + 3px);
    width: calc(100% / var(--faixas, 1) - 6px);
    z-index: 1;
    container-type: size;
    border-radius: var(--radius-s);
    background-color: var(--primary-subtle);
    box-shadow: inset 4px 0 0 var(--primary);
    overflow: hidden;
    transition: box-shadow 0.15s, transform 0.15s var(--ease-out);
}

.agenda__bloco-agendamento:hover[b-dyfcz78gn7] {
    z-index: 2;
    transform: translateY(-1px);
    box-shadow: inset 4px 0 0 var(--primary), var(--shadow-1);
}

.agenda__bloco-agendamento--concluido[b-dyfcz78gn7] {
    background-color: color-mix(in srgb, var(--success) 15%, var(--bg));
    box-shadow: inset 4px 0 0 var(--success);
}

.agenda__bloco-agendamento--cancelado[b-dyfcz78gn7] {
    background-color: color-mix(in srgb, var(--danger) 12%, var(--bg));
    box-shadow: inset 4px 0 0 var(--danger);
}

.agenda__bloco-link[b-dyfcz78gn7] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    height: 100%;
    padding: 6px 38px 6px 12px;
    color: var(--text);
    font-size: var(--font-size-xs);
    line-height: 1.25;
    text-decoration: none;
}

.agenda__bloco-link:focus-visible[b-dyfcz78gn7] {
    outline-offset: -2px;
}

.agenda__bloco-hora[b-dyfcz78gn7] {
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

.agenda__bloco-cliente[b-dyfcz78gn7] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agenda__bloco-servico[b-dyfcz78gn7],
.agenda__bloco-barbeiro[b-dyfcz78gn7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agenda__bloco-barbeiro[b-dyfcz78gn7] {
    color: var(--text-muted);
}

/* Bloco curto (30min ou menos): vira uma linha só, cliente primeiro. */
@container (max-height: 54px) {
    .agenda__bloco-link[b-dyfcz78gn7] {
        flex-direction: row;
        align-items: center;
        gap: var(--space-8);
    }

    .agenda__bloco-hora[b-dyfcz78gn7] { order: 2; }
    .agenda__bloco-cliente[b-dyfcz78gn7] { order: 1; flex-shrink: 1; min-width: 0; }
    .agenda__bloco-servico[b-dyfcz78gn7],
    .agenda__bloco-barbeiro[b-dyfcz78gn7] { display: none; }
}

.agenda__bloco-zap[b-dyfcz78gn7] {
    position: absolute;
    top: 50%;
    right: 6px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    border-radius: 50%;
    background-color: var(--success);
    color: var(--bg);
    transition: transform 0.15s var(--ease-out);
}

.agenda__bloco-zap:hover[b-dyfcz78gn7] {
    transform: scale(1.12);
}

.agenda__bloco-novo[b-dyfcz78gn7] {
    position: absolute;
    top: calc((var(--ini) - var(--base)) * var(--hora) / 60 - 8px);
    left: calc(var(--faixa, 0) * (100% / var(--faixas, 1)) + 10px);
    z-index: 3;
    pointer-events: none;
    padding: 1px 8px;
    border-radius: 999px;
    background-color: var(--accent);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: var(--font-weight-semibold);
}

/* Raia estreita (visão Semana com vários barbeiros): só o nome do cliente, sem atalho nem hora. */
@container (max-width: 140px) {
    .agenda__bloco-link[b-dyfcz78gn7] {
        padding-right: 6px;
    }

    .agenda__bloco-zap[b-dyfcz78gn7],
    .agenda__bloco-hora[b-dyfcz78gn7],
    .agenda__bloco-servico[b-dyfcz78gn7],
    .agenda__bloco-barbeiro[b-dyfcz78gn7] {
        display: none;
    }
}

/* ---------- Agendamento novo: listra do poste + entrada ---------- */

.agenda__bloco-agendamento--novo[b-dyfcz78gn7] {
    background-color: color-mix(in srgb, var(--accent) 10%, var(--bg));
    box-shadow: none;
    animation: agenda-entra-b-dyfcz78gn7 0.7s var(--ease-out) both, agenda-anel-b-dyfcz78gn7 1.6s ease-out 0.6s 3;
}

.agenda__bloco-agendamento--novo:hover[b-dyfcz78gn7] {
    box-shadow: var(--shadow-1);
}

.agenda__bloco-agendamento--novo[b-dyfcz78gn7]::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background-image: repeating-linear-gradient(
        135deg,
        var(--accent) 0 6px,
        #FFFFFF 6px 12px,
        var(--primary) 12px 18px,
        #FFFFFF 18px 24px
    );
    background-size: 34px 34px;
    animation: agenda-listra-b-dyfcz78gn7 1.6s linear infinite;
}

@keyframes agenda-entra-b-dyfcz78gn7 {
    0% { opacity: 0; transform: translateY(-14px) scale(0.92); }
    60% { opacity: 1; transform: translateY(2px) scale(1.02); }
    100% { opacity: 1; transform: none; }
}

@keyframes agenda-anel-b-dyfcz78gn7 {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent); }
    100% { box-shadow: 0 0 0 12px transparent; }
}

@keyframes agenda-listra-b-dyfcz78gn7 {
    to { background-position: 34px 0; }
}

/* ---------- Visão Mês ---------- */

.agenda__mes[b-dyfcz78gn7] {
    border: 1px solid var(--border);
    border-radius: var(--radius-l);
    background-color: var(--bg);
    overflow: hidden;
}

.agenda__mes-semana[b-dyfcz78gn7] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.agenda__mes-semana--cabecalho[b-dyfcz78gn7] {
    border-bottom: 1px solid var(--border);
}

.agenda__mes-dia-nome[b-dyfcz78gn7] {
    padding: var(--space-8);
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-align: center;
}

.agenda__mes-celula[b-dyfcz78gn7] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-height: 112px;
    padding: var(--space-8);
    border: 0;
    border-top: 1px solid var(--border);
    border-left: 1px solid var(--border);
    background-color: transparent;
    color: var(--text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.15s;
}

.agenda__mes-celula:first-child[b-dyfcz78gn7] {
    border-left: 0;
}

.agenda__mes-celula:hover[b-dyfcz78gn7] {
    background-color: var(--bg-subtle);
}

.agenda__mes-celula--fora[b-dyfcz78gn7] {
    color: var(--text-muted);
    background-color: color-mix(in srgb, var(--bg-subtle) 55%, transparent);
}

.agenda__mes-numero[b-dyfcz78gn7] {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
}

.agenda__mes-celula--hoje .agenda__mes-numero[b-dyfcz78gn7] {
    background-color: var(--accent);
    color: #FFFFFF;
}

.agenda__mes-contador[b-dyfcz78gn7] {
    position: absolute;
    top: var(--space-8);
    right: var(--space-8);
    display: grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background-color: var(--primary);
    color: #FFFFFF;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
}

.agenda__mes-contador--novo[b-dyfcz78gn7] {
    background-color: var(--accent);
}

.agenda__mes-resumo[b-dyfcz78gn7] {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.agenda__mes-item[b-dyfcz78gn7] {
    padding: 1px 6px;
    border-radius: 6px;
    background-color: var(--primary-subtle);
    font-size: var(--font-size-xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agenda__mes-item--novo[b-dyfcz78gn7] {
    background-color: color-mix(in srgb, var(--accent) 14%, var(--bg));
}

.agenda__mes-item-hora[b-dyfcz78gn7] {
    margin-right: 4px;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

.agenda__mes-mais[b-dyfcz78gn7] {
    padding-left: 6px;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

@media (max-width: 639px) {
    .agenda__novos-extenso[b-dyfcz78gn7] {
        display: none;
    }

    .agenda__mes-celula[b-dyfcz78gn7] {
        align-items: center;
        min-height: 64px;
    }

    .agenda__mes-resumo[b-dyfcz78gn7] {
        display: none;
    }

    .agenda__mes-contador[b-dyfcz78gn7] {
        position: static;
    }

    .agenda__periodo[b-dyfcz78gn7] {
        font-size: 22px;
    }

    .agenda__select[b-dyfcz78gn7] {
        min-width: 0;
        max-width: 180px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .agenda__bloco-agendamento[b-dyfcz78gn7],
    .agenda__bloco-agendamento--novo[b-dyfcz78gn7],
    .agenda__bloco-agendamento--novo[b-dyfcz78gn7]::before,
    .agenda__novos-ponto[b-dyfcz78gn7],
    .agenda__segmento[b-dyfcz78gn7],
    .agenda__bloco-zap[b-dyfcz78gn7] {
        animation: none;
        transition: none;
    }
}
/* /Pages/Admin/AgendamentoDetalhe.razor.rz.scp.css */
.detalhe[b-32a8s4y2bo] {
    max-width: 760px;
    gap: var(--space-16);
}

.detalhe__aviso[b-32a8s4y2bo] {
    margin: 0;
    color: var(--text-muted);
}

.detalhe__voltar[b-32a8s4y2bo] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    width: fit-content;
    min-height: 44px;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}

.detalhe__voltar:hover[b-32a8s4y2bo] {
    color: var(--primary);
}

/* ---------- Herói: o horário é a informação principal ---------- */

.detalhe__heroi[b-32a8s4y2bo] {
    display: grid;
    gap: var(--space-16);
    padding: var(--space-24);
    border-radius: var(--radius-l);
    background-color: var(--primary);
    color: #FFFFFF;
}

.detalhe__heroi-hora[b-32a8s4y2bo] {
    display: flex;
    align-items: baseline;
    gap: var(--space-12);
}

.detalhe__hora[b-32a8s4y2bo] {
    font-family: var(--font-family-display);
    font-size: clamp(64px, 18vw, 96px);
    font-weight: 800;
    line-height: 0.85;
    font-variant-numeric: tabular-nums;
}

.detalhe__hora-fim[b-32a8s4y2bo] {
    font-size: var(--font-size-lg);
    opacity: 0.85;
}

.detalhe__heroi-texto[b-32a8s4y2bo] {
    display: grid;
    gap: var(--space-4);
    justify-items: start;
}

.shell .detalhe__servico[b-32a8s4y2bo] {
    margin: 0;
    font-size: 30px;
    line-height: 1;
}

.detalhe__data[b-32a8s4y2bo] {
    margin: 0 0 var(--space-8);
    font-size: var(--font-size-base);
    opacity: 0.9;
}

.detalhe__heroi .ui-badge[b-32a8s4y2bo] {
    background-color: #FFFFFF;
    color: var(--primary-hover);
}

/* ---------- Cliente ---------- */

.detalhe__cliente[b-32a8s4y2bo] {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: var(--space-12) var(--space-16);
}

.detalhe__avatar[b-32a8s4y2bo] {
    width: 52px;
    height: 52px;
    font-size: var(--font-size-lg);
}

.detalhe__perfil[b-32a8s4y2bo] {
    color: var(--primary);
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease;
}

.detalhe__perfil:hover[b-32a8s4y2bo],
.detalhe__perfil:focus-visible[b-32a8s4y2bo] {
    background-color: var(--primary);
    color: #FFFFFF;
}

.detalhe__cliente-nome[b-32a8s4y2bo] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.detalhe__cliente-telefone[b-32a8s4y2bo] {
    margin: 2px 0 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.detalhe__cliente-acoes[b-32a8s4y2bo] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
    grid-column: 1 / -1;
}

.detalhe__whatsapp[b-32a8s4y2bo] {
    flex: 1;
    min-width: 200px;
}

.detalhe__sem-telefone[b-32a8s4y2bo] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

@media (min-width: 640px) {
    .detalhe__cliente[b-32a8s4y2bo] {
        grid-template-columns: auto 1fr auto;
    }

    .detalhe__cliente-acoes[b-32a8s4y2bo] {
        grid-column: auto;
    }

    .detalhe__whatsapp[b-32a8s4y2bo] {
        flex: none;
    }
}

/* ---------- Fatos ---------- */

.detalhe__fatos[b-32a8s4y2bo] {
    display: grid;
    gap: var(--space-8);
    margin: 0;
}

.detalhe__fato[b-32a8s4y2bo] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
}

.detalhe__fato dt[b-32a8s4y2bo] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.detalhe__fato dd[b-32a8s4y2bo] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8);
    margin: 0;
    font-weight: var(--font-weight-medium);
    text-align: right;
}

.detalhe__preco[b-32a8s4y2bo] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.detalhe__preco-editado[b-32a8s4y2bo] {
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-regular);
}

/* ---------- Formulários ---------- */

.detalhe__form[b-32a8s4y2bo],
.detalhe__ajuste[b-32a8s4y2bo],
.detalhe__confirmacao[b-32a8s4y2bo] {
    display: grid;
    gap: var(--space-12);
}

.detalhe__form-acoes[b-32a8s4y2bo] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-8);
}

.detalhe__erro[b-32a8s4y2bo] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

.detalhe__ajuste-cabecalho[b-32a8s4y2bo] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-8);
}

.shell .detalhe__titulo-secao[b-32a8s4y2bo] {
    margin: 0;
    font-size: 24px;
}

.detalhe__ajuste-texto[b-32a8s4y2bo] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    max-width: 56ch;
}

.detalhe__ajuste-campos[b-32a8s4y2bo] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
}

.detalhe__ajuste-campos > *[b-32a8s4y2bo] {
    min-width: 0;
}

.detalhe__ajuste-previa[b-32a8s4y2bo] {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    margin: 0;
    font-size: var(--font-size-sm);
}

.detalhe__ajuste-avisar[b-32a8s4y2bo] {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    min-height: 44px;
    font-size: var(--font-size-sm);
}

.detalhe__ajuste-avisar input[b-32a8s4y2bo] {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
}

.detalhe__perigo[b-32a8s4y2bo] {
    display: grid;
    gap: var(--space-12);
    border-color: color-mix(in srgb, var(--danger) 45%, var(--bg));
}

.shell .detalhe__perigo-titulo[b-32a8s4y2bo] {
    color: var(--danger);
}

.detalhe__perigo-acoes[b-32a8s4y2bo] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
}

.detalhe__confirmacao[b-32a8s4y2bo] {
    width: 100%;
}

.detalhe__confirmacao p[b-32a8s4y2bo] {
    margin: 0;
    font-weight: var(--font-weight-medium);
}

/* ---------- Carregando ---------- */

.detalhe__skeleton[b-32a8s4y2bo] {
    display: grid;
    gap: var(--space-16);
}

.detalhe__skeleton-heroi[b-32a8s4y2bo] {
    height: 200px;
    border-radius: var(--radius-l);
}

.detalhe__skeleton-bloco[b-32a8s4y2bo] {
    height: 120px;
}
/* /Pages/Admin/Barbeiros.razor.rz.scp.css */
/*
 * Barbeiros (Admin/Owner, issue #18) — ver docs/knowledge-base/telas-admin/spec.md, seção 3.
 * Cartão "Você" (owner se ativa/desativa como barbeiro) seguido da equipe em linhas com avatar e status.
 */

.barbeiros[b-ocuwj33u5f] {
    width: 100%;
}

@media (min-width: 1024px) {
    .barbeiros[b-ocuwj33u5f] {
        max-width: 760px;
        margin-inline: auto;
    }
}

/* ---------- Seção "Você" (owner se ativa/desativa como barbeiro) ---------- */

.barbeiros__voce[b-ocuwj33u5f] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12) var(--space-16);
    padding: var(--space-16) var(--space-24);
    border-radius: var(--radius-l);
}

.barbeiros__voce:not(.barbeiros__voce--ativo)[b-ocuwj33u5f] {
    background-color: var(--bg-subtle);
}

.barbeiros__voce-texto[b-ocuwj33u5f] {
    flex: 1 1 260px;
    min-width: 0;
}

.barbeiros__voce-titulo[b-ocuwj33u5f] {
    margin: 0 0 4px;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.barbeiros__aviso-vazio[b-ocuwj33u5f] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

/* ---------- Erro e skeleton ---------- */

.barbeiros__estado[b-ocuwj33u5f] {
    padding-block: var(--space-32);
}

.barbeiros__skeleton-item[b-ocuwj33u5f] {
    height: 64px;
}

/* ---------- Equipe ---------- */

.barbeiros__item-info[b-ocuwj33u5f] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4) var(--space-8);
}

.barbeiros__item-nome[b-ocuwj33u5f] {
    font-weight: var(--font-weight-semibold);
    overflow-wrap: anywhere;
}

.barbeiros__badge--ativo[b-ocuwj33u5f] {
    background-color: color-mix(in srgb, var(--success) 16%, transparent);
    color: var(--success);
}

.barbeiros__badge--pendente[b-ocuwj33u5f] {
    background-color: color-mix(in srgb, var(--warning) 16%, transparent);
    color: var(--warning);
}

.barbeiros__badge--recusado[b-ocuwj33u5f] {
    background-color: color-mix(in srgb, var(--danger) 14%, transparent);
    color: var(--danger);
}

.barbeiros__ajuda[b-ocuwj33u5f] {
    margin: var(--space-4) 0 0;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.barbeiros__botao-remover[b-ocuwj33u5f] {
    color: var(--text-muted);
}

.barbeiros__botao-remover:hover[b-ocuwj33u5f] {
    color: var(--danger);
}

/* ---------- Bottom sheet (mobile) / modal (desktop) ---------- */

.barbeiros__overlay[b-ocuwj33u5f] {
    position: fixed;
    inset: 0;
    background: color-mix(in srgb, var(--text) 45%, transparent);
    z-index: 40;
}

.barbeiros__modal[b-ocuwj33u5f] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 41;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    max-height: 92vh;
    overflow-y: auto;
    padding: var(--space-16) var(--space-24) var(--space-24);
    border-radius: var(--radius-l) var(--radius-l) 0 0;
    background: var(--bg);
    box-shadow: var(--shadow-2);
    animation: barbeiros-sheet-b-ocuwj33u5f 0.25s var(--ease-out);
}

@keyframes barbeiros-sheet-b-ocuwj33u5f {
    from { transform: translateY(24px); opacity: 0; }
}

@media (min-width: 1024px) {
    .barbeiros__modal[b-ocuwj33u5f] {
        left: 50%;
        right: auto;
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 480px;
        max-height: 85vh;
        border-radius: var(--radius-l);
        animation: none;
    }
}

.barbeiros__modal-cabecalho[b-ocuwj33u5f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-8);
}

.barbeiros__modal-titulo[b-ocuwj33u5f] {
    margin: 0;
    font-size: var(--font-size-xl);
}

.barbeiros__modal-resumo[b-ocuwj33u5f] {
    margin: 0;
    color: var(--text-muted);
}

.barbeiros__modal-rodape[b-ocuwj33u5f] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-8);
}

.barbeiros__botao-perigo[b-ocuwj33u5f] {
    background-color: var(--danger);
    color: var(--bg);
}

.barbeiros__erro[b-ocuwj33u5f] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

@media (prefers-reduced-motion: reduce) {
    .barbeiros__modal[b-ocuwj33u5f] {
        animation: none;
    }
}
/* /Pages/Admin/ClientePerfil.razor.rz.scp.css */
/*
 * Perfil do cliente (Admin/Owner e Barbeiro) — telas-admin/spec.md, seção 8.2.
 */

.perfil[b-3ayb04zexv] {
    max-width: 760px;
    gap: var(--space-16);
}

.perfil__aviso[b-3ayb04zexv] {
    margin: 0;
    color: var(--text-muted);
}

.perfil__voltar[b-3ayb04zexv] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    width: fit-content;
    min-height: 44px;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}

.perfil__voltar:hover[b-3ayb04zexv] {
    color: var(--primary);
}

.perfil__skeleton[b-3ayb04zexv] {
    display: grid;
    gap: var(--space-16);
}

.perfil__skeleton-bloco[b-3ayb04zexv] {
    height: 120px;
}

/* ---------- Cabeçalho ---------- */

.perfil__cabecalho[b-3ayb04zexv] {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: var(--space-12) var(--space-16);
}

.perfil__edicao[b-3ayb04zexv] {
    display: grid;
    gap: var(--space-12);
    min-width: 0;
}

.perfil__edicao .perfil__ajuda[b-3ayb04zexv],
.perfil__edicao .perfil__erro[b-3ayb04zexv] {
    margin: 0;
}

.perfil__edicao-acoes[b-3ayb04zexv] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-8);
}

.perfil__avatar[b-3ayb04zexv] {
    width: 56px;
    height: 56px;
    font-size: var(--font-size-lg);
}

.perfil__nome[b-3ayb04zexv] {
    margin: 0;
    font-size: var(--font-size-xl, var(--font-size-lg));
    font-weight: var(--font-weight-semibold);
}

.perfil__contato[b-3ayb04zexv] {
    margin: 2px 0 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.perfil__acoes[b-3ayb04zexv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
    grid-column: 1 / -1;
}

@media (min-width: 640px) {
    .perfil__cabecalho[b-3ayb04zexv] {
        grid-template-columns: auto 1fr auto;
    }

    .perfil__acoes[b-3ayb04zexv] {
        grid-column: auto;
    }
}

/* ---------- Fatos / indicadores ---------- */

.perfil__fatos[b-3ayb04zexv] {
    display: grid;
    gap: var(--space-12);
    grid-template-columns: 1fr;
    margin: 0;
}

@media (min-width: 640px) {
    .perfil__fatos[b-3ayb04zexv] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.perfil__fato[b-3ayb04zexv] {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-12) var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
}

.perfil__fato dt[b-3ayb04zexv] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.perfil__fato dd[b-3ayb04zexv] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.perfil__fato-detalhe[b-3ayb04zexv] {
    display: block;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-regular);
}

.perfil__fato--alerta[b-3ayb04zexv] {
    background-color: color-mix(in srgb, var(--danger) 12%, transparent);
}

.perfil__fato--alerta dd[b-3ayb04zexv] {
    color: var(--danger);
}

.perfil__alerta[b-3ayb04zexv] {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

/* ---------- Descrição ---------- */

.perfil__titulo-secao[b-3ayb04zexv] {
    margin: 0 0 var(--space-4);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.perfil__ajuda[b-3ayb04zexv] {
    margin: 0 0 var(--space-12);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.perfil__textarea[b-3ayb04zexv] {
    min-height: 112px;
    padding-block: var(--space-12);
    resize: vertical;
}

.perfil__notas-rodape[b-3ayb04zexv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
    margin-top: var(--space-12);
}

.perfil__contador[b-3ayb04zexv] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.perfil__erro[b-3ayb04zexv] {
    margin: var(--space-8) 0 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

/* ---------- Histórico ---------- */

.perfil__historico-meta[b-3ayb04zexv] {
    display: block;
}
/* /Pages/Admin/Clientes.razor.rz.scp.css */
/*
 * Clientes (Admin/Owner e Barbeiro) — telas-admin/spec.md, seção 8. Busca + lista de linhas clicáveis.
 */

.clientes[b-vwp8ejobz1] {
    width: 100%;
}

@media (min-width: 1024px) {
    .clientes[b-vwp8ejobz1] {
        max-width: 760px;
        margin-inline: auto;
    }
}

.clientes__aviso[b-vwp8ejobz1] {
    margin: 0;
    color: var(--text-muted);
}

.clientes__skeleton[b-vwp8ejobz1] {
    height: 64px;
}

.clientes__busca[b-vwp8ejobz1] {
    margin-bottom: var(--space-8);
}

.clientes__item[b-vwp8ejobz1] {
    color: inherit;
    text-decoration: none;
}

.clientes__item:hover[b-vwp8ejobz1] {
    background-color: var(--primary-subtle);
}

.clientes__meta[b-vwp8ejobz1] {
    display: block;
}

.clientes__selo[b-vwp8ejobz1] {
    flex-shrink: 0;
}

.clientes__item[b-vwp8ejobz1]  .clientes__seta {
    flex-shrink: 0;
    color: var(--text-muted);
}
/* /Pages/Admin/Configuracoes.razor.rz.scp.css */
/*
 * Configurações (Admin/Owner, issue #20) — ver docs/knowledge-base/telas-admin/spec.md, seção 5.
 * Seções empilhadas (spec 5.7: sem colunas), cada uma com seu botão Salvar; chips de âncora no topo
 * para saltar entre elas.
 */

.configuracoes[b-lj4av6ftc5] {
    width: 100%;
}

@media (min-width: 1024px) {
    .configuracoes[b-lj4av6ftc5] {
        max-width: 720px;
        margin-inline: auto;
    }
}

/* ---------- Âncoras ---------- */

.configuracoes__ancoras[b-lj4av6ftc5] {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    gap: var(--space-8);
    margin-inline: calc(var(--space-16) * -1);
    padding: var(--space-8) var(--space-16);
    overflow-x: auto;
    background-color: var(--bg);
    scrollbar-width: none;
}

.configuracoes__ancoras[b-lj4av6ftc5]::-webkit-scrollbar {
    display: none;
}

.configuracoes__ancoras .ui-chip[b-lj4av6ftc5] {
    flex-shrink: 0;
    min-height: 44px;
    text-decoration: none;
}

.configuracoes__ancoras .ui-chip:hover[b-lj4av6ftc5] {
    border-color: var(--primary);
    color: var(--primary);
}

/* ---------- Seção ---------- */

.configuracoes__card[b-lj4av6ftc5] {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    padding: var(--space-24);
    border-radius: var(--radius-l);
    background-color: var(--bg-subtle);
    scroll-margin-top: 72px;
}

.configuracoes__card-titulo[b-lj4av6ftc5] {
    margin: 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
}

.configuracoes__rodape[b-lj4av6ftc5] {
    display: flex;
    justify-content: flex-end;
}

.configuracoes__input--erro[b-lj4av6ftc5],
.configuracoes__input--erro:focus[b-lj4av6ftc5] {
    border-color: var(--danger);
}

.configuracoes__input:disabled[b-lj4av6ftc5] {
    color: var(--text-muted);
    background-color: var(--bg-subtle);
    cursor: not-allowed;
}

.configuracoes__campo-erro[b-lj4av6ftc5],
.configuracoes__erro[b-lj4av6ftc5] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

.configuracoes__aviso[b-lj4av6ftc5] {
    margin: 0;
    padding: var(--space-12) var(--space-16);
    border-radius: var(--radius-s);
    background-color: color-mix(in srgb, var(--warning) 14%, transparent);
    color: var(--warning);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

/* ---------- Horário de funcionamento (seção 5.2) ---------- */

.configuracoes__dias[b-lj4av6ftc5] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-8);
    margin: 0;
    padding: 0;
    list-style: none;
}

.configuracoes__dia[b-lj4av6ftc5] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: var(--space-8);
    padding: var(--space-8) var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg);
}

.configuracoes__dia--fechado .configuracoes__dia-nome[b-lj4av6ftc5] {
    color: var(--text-muted);
}

.configuracoes__dia-cabecalho[b-lj4av6ftc5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-8);
}

.configuracoes__dia-nome[b-lj4av6ftc5] {
    font-weight: var(--font-weight-semibold);
}

.configuracoes__toggle[b-lj4av6ftc5] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    min-height: 44px;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    cursor: pointer;
}

.configuracoes__toggle input[b-lj4av6ftc5] {
    appearance: none;
    position: relative;
    flex-shrink: 0;
    order: 2;
    width: 44px;
    height: 26px;
    margin: 0;
    border-radius: 999px;
    background-color: var(--border);
    cursor: pointer;
    transition: background-color 0.2s;
}

.configuracoes__toggle input[b-lj4av6ftc5]::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--bg);
    box-shadow: var(--shadow-1);
    transition: transform 0.2s var(--ease-out);
}

.configuracoes__toggle input:checked[b-lj4av6ftc5] {
    background-color: var(--success);
}

.configuracoes__toggle input:checked[b-lj4av6ftc5]::after {
    transform: translateX(18px);
}

.configuracoes__toggle input:disabled[b-lj4av6ftc5] {
    opacity: 0.5;
    cursor: not-allowed;
}

.configuracoes__dia-horarios[b-lj4av6ftc5] {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    padding-bottom: var(--space-8);
    color: var(--text-muted);
}

/* min-width: 0 nos itens flex/grid: sem isso o input[type=time] (largura intrínseca) empurra a linha para fora do container. */
.configuracoes__dia-horarios .configuracoes__input[b-lj4av6ftc5] {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: 100%;
}

/* ---------- Modo de cadastro (seção 5.3): duas opções em cartão ---------- */

.configuracoes__radios[b-lj4av6ftc5] {
    display: grid;
    gap: var(--space-8);
    margin: 0;
    padding: 0;
    border: none;
}

.configuracoes__oculto[b-lj4av6ftc5] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.configuracoes__radio-opcao[b-lj4av6ftc5] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-12);
    min-height: 44px;
    padding: var(--space-12) var(--space-16);
    border: 1px solid var(--border);
    border-radius: var(--radius-m);
    background-color: var(--bg);
    cursor: pointer;
}

.configuracoes__radio-opcao:has(input:checked)[b-lj4av6ftc5] {
    border-color: var(--primary);
    background-color: var(--primary-subtle);
}

.configuracoes__radio-opcao input[b-lj4av6ftc5] {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    accent-color: var(--primary);
}

.configuracoes__radio-texto[b-lj4av6ftc5] {
    display: grid;
    gap: 2px;
}

.configuracoes__radio-titulo[b-lj4av6ftc5] {
    font-weight: var(--font-weight-semibold);
}

.configuracoes__radio-descricao[b-lj4av6ftc5] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

/* ---------- Domínio (seção 5.4) ---------- */

.configuracoes__dominio-atual[b-lj4av6ftc5] {
    margin: 0;
    color: var(--text-muted);
}

.configuracoes__dominio-atual strong[b-lj4av6ftc5] {
    color: var(--text);
}

@media (prefers-reduced-motion: reduce) {
    .configuracoes__toggle input[b-lj4av6ftc5],
    .configuracoes__toggle input[b-lj4av6ftc5]::after {
        transition: none;
    }
}

.configuracoes__card[b-lj4av6ftc5]  .theme-toggle__option {
    min-height: 40px;
    font-size: var(--font-size-sm);
}

/* Botão com rótulo longo (ex.: "Copiar horário de segunda...") quebra linha em vez de estourar a largura. */
.configuracoes__botao-secundario[b-lj4av6ftc5] {
    max-width: 100%;
    height: auto;
    padding-block: var(--space-8);
    white-space: normal;
    text-align: center;
}
/* /Pages/Admin/Dashboard.razor.rz.scp.css */
/*
 * Dashboard do Owner (issue #16) — ver docs/knowledge-base/telas-admin/spec.md, seção 1.
 * Composição: faturamento como bloco-herói, demais indicadores em peças menores; listas com barra
 * proporcional em vez de tabela; horários de pico em colunas com o pico destacado.
 */

.dashboard[b-lxthm2htyu] {
    width: 100%;
}

@media (min-width: 1024px) {
    .dashboard[b-lxthm2htyu] {
        max-width: 1200px;
        margin-inline: auto;
    }
}

/* ---------- Filtro de período (segmentado, nas ações do cabeçalho) ---------- */

.dashboard__filtro[b-lxthm2htyu] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 2px;
    padding: 4px;
    border-radius: 16px;
    background-color: var(--bg-subtle);
}

.dashboard__segmento[b-lxthm2htyu] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding-inline: var(--space-16);
    border-radius: 999px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s, color 0.15s;
}

.dashboard__segmento input[type='radio'][b-lxthm2htyu] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.dashboard__segmento:has(input:checked)[b-lxthm2htyu] {
    background-color: var(--bg);
    color: var(--text);
    box-shadow: var(--shadow-1);
}

.dashboard__segmento:has(input:focus-visible)[b-lxthm2htyu] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.dashboard__calendario-personalizado[b-lxthm2htyu] {
    max-width: 400px;
}

/* ---------- Indicadores: faturamento domina, o resto acompanha ---------- */

.dashboard__kpis[b-lxthm2htyu] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-12);
}

.dashboard__kpi[b-lxthm2htyu] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
}

.dashboard__kpi-numero[b-lxthm2htyu] {
    font-size: var(--font-size-xl);
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.dashboard__kpi-legenda[b-lxthm2htyu] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.dashboard__kpi--cancelamento[b-lxthm2htyu] {
    grid-column: 1 / -1;
}

.dashboard__kpi--heroi[b-lxthm2htyu] {
    grid-column: 1 / -1;
    grid-row: 1;
    flex-direction: column-reverse;
    justify-content: flex-end;
    gap: var(--space-8);
    padding: var(--space-24);
    border-radius: var(--radius-l);
    background-color: var(--primary);
    color: #FFFFFF;
    box-shadow: var(--shadow-1);
}

.dashboard__kpi--heroi .dashboard__kpi-legenda[b-lxthm2htyu] {
    color: #FFFFFF;
    opacity: 0.85;
}

.dashboard__kpi--heroi .dashboard__kpi-numero[b-lxthm2htyu] {
    font-family: 'Big Shoulders Display', var(--font-family-base, sans-serif);
    font-size: clamp(44px, 9vw, 72px);
    line-height: 0.95;
}

.dashboard__skeleton-kpi[b-lxthm2htyu] {
    height: 84px;
}

.dashboard__skeleton-kpi:first-child[b-lxthm2htyu] {
    grid-column: 1 / -1;
    height: 128px;
    border-radius: var(--radius-l);
}

@media (min-width: 1024px) {
    .dashboard__kpis[b-lxthm2htyu] {
        grid-template-columns: 2fr 1fr 1fr;
        grid-template-rows: auto auto;
    }

    .dashboard__kpi--cancelamento[b-lxthm2htyu] {
        grid-column: 2 / -1;
    }

    .dashboard__kpi--heroi[b-lxthm2htyu] {
        grid-column: 1;
        grid-row: 1 / span 2;
        justify-content: flex-end;
    }

    .dashboard__skeleton-kpi:first-child[b-lxthm2htyu] {
        grid-column: 1;
        grid-row: 1 / span 2;
        height: auto;
    }

    .dashboard__skeleton-kpi:nth-child(n + 2)[b-lxthm2htyu] {
        height: 96px;
    }
}

/* ---------- Vazio e erro ---------- */

.dashboard__estado[b-lxthm2htyu] {
    padding-block: var(--space-32);
}

/* ---------- Seções ---------- */

.dashboard__secoes[b-lxthm2htyu] {
    display: grid;
    gap: var(--space-24);
}

.dashboard__secao[b-lxthm2htyu] {
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
    min-width: 0;
}

.dashboard__secao-titulo[b-lxthm2htyu] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

@media (min-width: 1024px) {
    .dashboard__secoes[b-lxthm2htyu] {
        grid-template-columns: repeat(2, 1fr);
        align-items: start;
    }

    .dashboard__secao--larga[b-lxthm2htyu] {
        grid-column: 1 / -1;
    }
}

/* Ranking: linha com barra proporcional ao maior valor da lista */
.dashboard__lista[b-lxthm2htyu] {
    display: grid;
    gap: var(--space-8);
    margin: 0;
    padding: 0;
    list-style: none;
}

.dashboard__lista-item[b-lxthm2htyu] {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: 'nome valor' 'contagem valor';
    align-items: center;
    column-gap: var(--space-12);
    padding: var(--space-12) var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
    overflow: hidden;
    isolation: isolate;
}

.dashboard__lista-item[b-lxthm2htyu]::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--proporcao, 0%);
    background-color: var(--primary-subtle);
    z-index: -1;
}

.dashboard__lista-nome[b-lxthm2htyu] {
    grid-area: nome;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard__lista-contagem[b-lxthm2htyu] {
    grid-area: contagem;
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.dashboard__lista-valor[b-lxthm2htyu] {
    grid-area: valor;
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
}

.dashboard__lista-vazia[b-lxthm2htyu] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

/* ---------- Horários de pico: colunas, pico em destaque ---------- */

.dashboard__grafico-horarios[b-lxthm2htyu] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-8);
    height: 160px;
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
    overflow-x: auto;
    justify-content: space-around;
}

.dashboard__barra-coluna[b-lxthm2htyu] {
    display: flex;
    flex: 1 0 28px;
    max-width: 72px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-4);
    height: 100%;
}

.dashboard__barra[b-lxthm2htyu] {
    width: 100%;
    min-height: 2px;
    background-color: var(--primary-subtle);
    border: 1px solid var(--primary);
    border-bottom: 0;
    border-radius: var(--radius-s) var(--radius-s) 0 0;
}

.dashboard__barra-coluna--pico .dashboard__barra[b-lxthm2htyu] {
    background-color: var(--primary);
}

.dashboard__barra-legenda[b-lxthm2htyu] {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

/* ---------- Skeleton de lista ---------- */

.dashboard__skeleton-lista[b-lxthm2htyu] {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.dashboard__skeleton-item[b-lxthm2htyu] {
    height: 56px;
}
/* /Pages/Admin/Mais.razor.rz.scp.css */
.mais__link[b-t4y87kehb4] {
    color: inherit;
    text-decoration: none;
    min-height: 64px;
    transition: background-color 0.15s;
}

.mais__link:hover[b-t4y87kehb4] {
    background-color: var(--primary-subtle);
}

.mais__link[b-t4y87kehb4]  .mais__seta {
    color: var(--text-muted);
}
/* /Pages/Admin/Pagamentos.razor.rz.scp.css */
.pagamentos[b-zvbdkjsoh7] {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

@media (min-width: 1024px) {
    .pagamentos[b-zvbdkjsoh7] {
        max-width: 720px;
        margin-inline: auto;
    }
}

.pagamentos__card[b-zvbdkjsoh7] {
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
    padding: var(--space-16);
    border: 1px solid var(--border);
    border-radius: var(--radius-md, 12px);
    background-color: var(--surface);
}

.pagamentos__titulo[b-zvbdkjsoh7] {
    margin: 0;
    font-size: 1.125rem;
}

.pagamentos__ajuda[b-zvbdkjsoh7] {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.pagamentos__erro[b-zvbdkjsoh7] {
    margin: 0;
    color: var(--danger);
}

.pagamentos__grade[b-zvbdkjsoh7] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
}

@media (min-width: 640px) {
    .pagamentos__grade[b-zvbdkjsoh7] {
        grid-template-columns: 1fr 1fr;
    }
}

.pagamentos__passos[b-zvbdkjsoh7] {
    margin: 0;
    padding-left: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    line-height: 1.5;
}

.pagamentos__toggle[b-zvbdkjsoh7],
.pagamentos__aceite[b-zvbdkjsoh7] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-8);
    min-height: 44px;
    align-items: center;
}

.pagamentos__tutorial summary[b-zvbdkjsoh7] {
    cursor: pointer;
    min-height: 44px;
    display: flex;
    align-items: center;
    font-weight: 600;
}

.pagamentos__info[b-zvbdkjsoh7] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: var(--space-4, 4px);
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--surface);
    color: var(--text-muted);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

/* Popover nativo (top layer): fecha com clique fora ou Esc, sem JS. */
.pagamentos__popover[b-zvbdkjsoh7] {
    max-width: min(22rem, calc(100vw - 2rem));
    margin: auto;
    padding: var(--space-16);
    border: 1px solid var(--border);
    border-radius: var(--radius-md, 12px);
    background-color: var(--surface);
    color: inherit;
    line-height: 1.5;
}

.pagamentos__popover p[b-zvbdkjsoh7] {
    margin: 0 0 var(--space-8, 8px);
}

.pagamentos__popover p:last-child[b-zvbdkjsoh7] {
    margin-bottom: 0;
}
/* /Pages/Admin/Servicos.razor.rz.scp.css */
/*
 * Serviços (Admin/Owner, issue #17) — ver docs/knowledge-base/telas-admin/spec.md, seção 2.
 * Catálogo em cards com o estado ativo visível (switch); formulário em bottom sheet / modal.
 */

.servicos[b-mse9bqut0h] {
    width: 100%;
}

@media (min-width: 1024px) {
    .servicos[b-mse9bqut0h] {
        max-width: 1200px;
        margin-inline: auto;
    }
}

.servicos__estado[b-mse9bqut0h],
.servicos__vazio[b-mse9bqut0h] {
    padding-block: var(--space-32);
}

.servicos__skeleton-item[b-mse9bqut0h] {
    height: 104px;
}

/* ---------- Catálogo ---------- */

.servicos__lista[b-mse9bqut0h] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.servicos__item[b-mse9bqut0h] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-16);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg);
    box-shadow: var(--shadow-1);
    transition: opacity 0.2s;
}

.servicos__item--inativo[b-mse9bqut0h] {
    background-color: var(--bg-subtle);
    box-shadow: none;
}

.servicos__item--inativo .servicos__item-info[b-mse9bqut0h] {
    opacity: 0.6;
}

.servicos__item-info[b-mse9bqut0h] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
}

.servicos__item-nome[b-mse9bqut0h] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.servicos__item-descricao[b-mse9bqut0h] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.servicos__item-detalhe[b-mse9bqut0h] {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    margin-top: var(--space-4);
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.servicos__item-preco[b-mse9bqut0h] {
    color: var(--text);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-base);
    font-variant-numeric: tabular-nums;
}

.servicos__item-duracao[b-mse9bqut0h] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-4);
}

.servicos__item-acoes[b-mse9bqut0h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
}

/* Switch ativo/inativo: o próprio checkbox vira o interruptor, o texto ao lado diz o estado */
.servicos__toggle[b-mse9bqut0h] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    min-height: 44px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
}

.servicos__toggle input[b-mse9bqut0h] {
    appearance: none;
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 26px;
    margin: 0;
    border-radius: 999px;
    background-color: var(--border);
    cursor: pointer;
    transition: background-color 0.2s;
}

.servicos__toggle input[b-mse9bqut0h]::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: var(--bg);
    box-shadow: var(--shadow-1);
    transition: transform 0.2s var(--ease-out);
}

.servicos__toggle input:checked[b-mse9bqut0h] {
    background-color: var(--success);
}

.servicos__toggle input:checked[b-mse9bqut0h]::after {
    transform: translateX(18px);
}

.servicos__toggle input:disabled[b-mse9bqut0h] {
    opacity: 0.5;
    cursor: progress;
}

.servicos__toggle input:focus-visible[b-mse9bqut0h] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* ---------- Bottom sheet (mobile) / modal (desktop) ---------- */

.servicos__overlay[b-mse9bqut0h] {
    position: fixed;
    inset: 0;
    background: color-mix(in srgb, var(--text) 45%, transparent);
    z-index: 40;
}

.servicos__modal[b-mse9bqut0h] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 41;
    display: flex;
    flex-direction: column;
    max-height: 92vh;
    border-radius: var(--radius-l) var(--radius-l) 0 0;
    background: var(--bg);
    box-shadow: var(--shadow-2);
    animation: servicos-sheet-b-mse9bqut0h 0.25s var(--ease-out);
}

@keyframes servicos-sheet-b-mse9bqut0h {
    from { transform: translateY(24px); opacity: 0; }
}

@media (min-width: 1024px) {
    .servicos__modal[b-mse9bqut0h] {
        left: 50%;
        right: auto;
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 520px;
        max-height: 85vh;
        border-radius: var(--radius-l);
        animation: none;
    }
}

.servicos__modal-cabecalho[b-mse9bqut0h] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-16) var(--space-16) var(--space-8) var(--space-24);
}

.servicos__modal-titulo[b-mse9bqut0h] {
    margin: 0;
    font-size: var(--font-size-xl);
}

.servicos__modal-corpo[b-mse9bqut0h] {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    padding: var(--space-8) var(--space-24) var(--space-16);
    overflow-y: auto;
}

.servicos__campo[b-mse9bqut0h] {
    border: none;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.servicos__campo legend[b-mse9bqut0h] {
    padding: 0;
    margin-bottom: var(--space-4);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

.servicos__campo-linha[b-mse9bqut0h] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-12);
}

.servicos__textarea[b-mse9bqut0h] {
    min-height: 88px;
    padding-block: var(--space-8);
    resize: vertical;
}

.servicos__opcao-barbeiro[b-mse9bqut0h] {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-height: 44px;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
}

.servicos__opcao-barbeiro input[b-mse9bqut0h] {
    width: 20px;
    height: 20px;
    accent-color: var(--primary);
}

.servicos__erro[b-mse9bqut0h] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

.servicos__erro-campo[b-mse9bqut0h] {
    margin: var(--space-4) 0 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

.servicos__input[aria-invalid="true"][b-mse9bqut0h],
.servicos__textarea[aria-invalid="true"][b-mse9bqut0h] {
    border-color: var(--danger);
}

.servicos__rodape[b-mse9bqut0h] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-24) var(--space-24);
    border-top: 1px solid var(--border);
}

@media (prefers-reduced-motion: reduce) {
    .servicos__modal[b-mse9bqut0h],
    .servicos__toggle input[b-mse9bqut0h],
    .servicos__toggle input[b-mse9bqut0h]::after {
        animation: none;
        transition: none;
    }
}

.servicos__item-sinal[b-mse9bqut0h] {
    display: block;
    margin-top: var(--space-4);
    font-size: 0.8125rem;
    color: var(--text-muted);
}
/* /Pages/Admin/Tokens.razor.rz.scp.css */
/*
 * Tokens de Convite (Admin/Owner, issue #19) — ver docs/knowledge-base/telas-admin/spec.md, seção 4.
 * Um bloco gerador (papel + ação dominante) acima da lista de convites; compartilhamento em bottom
 * sheet quase em tela cheia no mobile (seção 4.6), com o código em destaque.
 */

.tokens[b-iwulwlztll] {
    width: 100%;
}

@media (min-width: 1024px) {
    .tokens[b-iwulwlztll] {
        max-width: 760px;
        margin-inline: auto;
    }
}

/* ---------- Gerador ---------- */

.tokens__gerador[b-iwulwlztll] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-16);
    padding: var(--space-16) var(--space-24);
    border-radius: var(--radius-l);
}

.tokens__filtro-papel[b-iwulwlztll] {
    display: inline-flex;
    gap: 2px;
    padding: 4px;
    border-radius: 999px;
    background-color: var(--bg);
}

.tokens__segmento[b-iwulwlztll] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding-inline: var(--space-16);
    border-radius: 999px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--text-muted);
    cursor: pointer;
    user-select: none;
    transition: background-color 0.15s, color 0.15s;
}

.tokens__segmento input[type='radio'][b-iwulwlztll] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tokens__segmento:has(input:checked)[b-iwulwlztll] {
    background-color: var(--primary);
    color: #FFFFFF;
}

.tokens__segmento:has(input:focus-visible)[b-iwulwlztll] {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* ---------- Vazio, erro, skeleton ---------- */

.tokens__estado-vazio[b-iwulwlztll],
.tokens__estado[b-iwulwlztll] {
    padding-block: var(--space-32);
}

.tokens__skeleton-item[b-iwulwlztll] {
    height: 64px;
}

/* ---------- Lista de convites ---------- */

.tokens__item[b-iwulwlztll] {
    gap: var(--space-8);
}

.tokens__item--encerrado[b-iwulwlztll] {
    background-color: transparent;
    border: 1px dashed var(--border);
}

.tokens__item--encerrado .tokens__item-codigo[b-iwulwlztll] {
    color: var(--text-muted);
    text-decoration: line-through;
    text-decoration-color: var(--border);
}

.tokens__item-info[b-iwulwlztll] {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.tokens__item-linha-topo[b-iwulwlztll] {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    flex-wrap: wrap;
}

.tokens__item-codigo[b-iwulwlztll] {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.08em;
    font-variant-numeric: tabular-nums;
}

.tokens__item-detalhe[b-iwulwlztll] {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
}

.tokens__item-detalhe--ativo[b-iwulwlztll] {
    color: var(--success);
}

/* ---------- Bottom sheet (mobile) / modal (desktop) ---------- */

.tokens__overlay[b-iwulwlztll] {
    position: fixed;
    inset: 0;
    background: color-mix(in srgb, var(--text) 45%, transparent);
    z-index: 40;
}

.tokens__modal[b-iwulwlztll] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 41;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    max-height: 92vh;
    overflow-y: auto;
    padding: var(--space-16) var(--space-24) var(--space-24);
    border-radius: var(--radius-l) var(--radius-l) 0 0;
    background: var(--bg);
    box-shadow: var(--shadow-2);
    animation: tokens-sheet-b-iwulwlztll 0.25s var(--ease-out);
}

@keyframes tokens-sheet-b-iwulwlztll {
    from { transform: translateY(24px); opacity: 0; }
}

@media (min-width: 1024px) {
    .tokens__modal[b-iwulwlztll] {
        left: 50%;
        right: auto;
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 480px;
        max-height: 85vh;
        border-radius: var(--radius-l);
        animation: none;
    }
}

.tokens__modal--compartilhar[b-iwulwlztll] {
    min-height: 60vh;
    justify-content: center;
    align-items: center;
    text-align: center;
}

@media (min-width: 1024px) {
    .tokens__modal--compartilhar[b-iwulwlztll] {
        min-height: auto;
    }
}

.tokens__modal-cabecalho[b-iwulwlztll] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.tokens__modal-titulo[b-iwulwlztll] {
    margin: 0;
    font-size: var(--font-size-xl);
}

.tokens__modal-resumo[b-iwulwlztll] {
    margin: 0;
    color: var(--text-muted);
}

.tokens__modal-rodape[b-iwulwlztll] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-8);
}

.tokens__botao-perigo[b-iwulwlztll] {
    background-color: var(--danger);
    color: var(--bg);
}

.tokens__erro[b-iwulwlztll] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}

/* ---------- Código em destaque (seção 4.2) ---------- */

.tokens__codigo-destaque[b-iwulwlztll] {
    padding: var(--space-16) var(--space-24);
    border-radius: var(--radius-m);
    background-color: var(--primary-subtle);
    font-family: 'Big Shoulders Display', var(--font-family-base, sans-serif);
    font-size: clamp(40px, 12vw, 64px);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.1em;
    line-height: 1;
    color: var(--primary);
}

.tokens__codigo-legenda[b-iwulwlztll] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.tokens__modal-acoes[b-iwulwlztll] {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .tokens__modal[b-iwulwlztll] {
        animation: none;
    }
}
/* /Pages/AssinaturaSuspensa.razor.rz.scp.css */
.assinatura-suspensa[b-d3shiblsqs] {
    display: grid;
    gap: 1.25rem;
    justify-items: start;
    width: min(100%, 560px);
    --marca-tamanho: 1.9rem;
}

.assinatura-suspensa__titulo[b-d3shiblsqs] {
    max-width: 10ch;
    font-size: clamp(3rem, 10vw, 5rem);
}

.assinatura-suspensa__nota[b-d3shiblsqs] {
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255, 194, 75, 0.5);
    border-radius: 12px;
    background: rgba(255, 194, 75, 0.09);
    color: var(--cf-warn);
    font-weight: 600;
}

.assinatura-suspensa__acao[b-d3shiblsqs] {
    margin-top: 0.5rem;
}
/* /Pages/Cliente/Agendamentos.razor.rz.scp.css */
/*
 * Meus Agendamentos — ver docs/knowledge-base/telas-cliente/spec.md, seção 4.
 * Linha do tempo: o próximo horário ganha destaque, os demais seguem discretos e o histórico
 * fica mais apagado. Mesma lista vertical em mobile e desktop (é cronológica, não um catálogo).
 */

.agendamentos[b-0ipr5isolv] {
    max-width: 680px;
}

@media (min-width: 1024px) {
    .agendamentos[b-0ipr5isolv] {
        margin-inline: auto;
        width: 100%;
    }
}

/* ---------- Abas em controle segmentado ---------- */

.agendamentos__abas[b-0ipr5isolv] {
    display: inline-flex;
    justify-self: start;
    gap: var(--space-4);
    padding: var(--space-4);
    border-radius: 999px;
    background-color: var(--bg-subtle);
}

.agendamentos__aba[b-0ipr5isolv] {
    min-height: 40px;
    padding-inline: var(--space-16);
    border: none;
    border-radius: 999px;
    background: transparent;
    color: var(--text-muted);
    font-family: inherit;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
}

.agendamentos__aba--ativa[b-0ipr5isolv] {
    background-color: var(--bg);
    color: var(--text);
    box-shadow: var(--shadow-1);
}

/* ---------- Lista em linha do tempo ---------- */

.agendamentos__lista[b-0ipr5isolv] {
    position: relative;
    display: grid;
    gap: var(--space-12);
}

/* Fio vertical atrás dos blocos de data. */
.agendamentos__lista:not(.agendamentos__lista--historico)[b-0ipr5isolv]::before {
    content: "";
    position: absolute;
    top: var(--space-24);
    bottom: var(--space-24);
    left: calc(var(--space-16) + 26px);
    width: 2px;
    background-color: var(--border);
}

.agendamentos__card[b-0ipr5isolv] {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: var(--space-12);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
}

.agendamentos__card--proximo[b-0ipr5isolv] {
    background-color: var(--primary-subtle);
}

.agendamentos__lista--historico .agendamentos__card[b-0ipr5isolv] {
    padding-block: var(--space-12);
    background-color: transparent;
    box-shadow: inset 0 0 0 1px var(--border);
}

.agendamentos__data[b-0ipr5isolv] {
    display: grid;
    flex-shrink: 0;
    place-items: center;
    align-content: center;
    width: 52px;
    height: 56px;
    border-radius: var(--radius-s);
    background-color: var(--bg);
    line-height: 1;
}

.agendamentos__card--proximo .ui-badge[b-0ipr5isolv] {
    background-color: var(--bg);
}

.agendamentos__card--proximo .agendamentos__data[b-0ipr5isolv] {
    background-color: var(--primary);
    color: #FFFFFF;
}

.agendamentos__data-dia[b-0ipr5isolv] {
    font-family: var(--font-family-display);
    font-size: var(--font-size-xl);
    font-weight: 700;
}

.agendamentos__data-mes[b-0ipr5isolv] {
    margin-top: 2px;
    font-size: var(--font-size-xs);
    text-transform: capitalize;
    color: var(--text-muted);
}

.agendamentos__card--proximo .agendamentos__data-mes[b-0ipr5isolv] {
    color: inherit;
}

.agendamentos__corpo[b-0ipr5isolv] {
    flex: 1;
    min-width: 0;
    display: grid;
    gap: var(--space-4);
}

.agendamentos__linha-topo[b-0ipr5isolv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-8);
}

.agendamentos__card-servico[b-0ipr5isolv] {
    margin: 0;
    min-width: 0;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-semibold);
}

.agendamentos__card-detalhe[b-0ipr5isolv] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.agendamentos__card--proximo .agendamentos__card-detalhe[b-0ipr5isolv] {
    color: var(--text);
}

.agendamentos__botao-cancelar[b-0ipr5isolv] {
    justify-self: start;
    margin-top: var(--space-4);
    margin-left: calc(var(--space-12) * -1);
    min-height: 44px;
    color: var(--danger);
}

/* ---------- Skeleton (3 linhas, mesmo formato do card) ---------- */

.agendamentos__skeleton-card[b-0ipr5isolv] {
    height: 90px;
}

/* ---------- Modal de confirmação de cancelamento (seção 4.2) ---------- */

.agendamentos__overlay[b-0ipr5isolv] {
    position: fixed;
    inset: 0;
    background-color: color-mix(in srgb, var(--text) 45%, transparent);
    z-index: 40;
}

.agendamentos__modal[b-0ipr5isolv] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 90vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    padding: var(--space-24) var(--space-16) calc(var(--space-16) + env(safe-area-inset-bottom, 0px));
    border-radius: var(--radius-l) var(--radius-l) 0 0;
    background: var(--bg);
    box-shadow: var(--shadow-2);
    z-index: 41;
}

@media (min-width: 1024px) {
    .agendamentos__modal[b-0ipr5isolv] {
        left: 50%;
        right: auto;
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        max-width: 480px;
        max-height: 85vh;
        border-radius: var(--radius-l);
        padding: var(--space-24);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .agendamentos__modal[b-0ipr5isolv] {
        animation: agendamentos-modal-entra-b-0ipr5isolv 0.25s var(--ease-out);
    }
}

@keyframes agendamentos-modal-entra-b-0ipr5isolv {
    from { opacity: 0; translate: 0 16px; }
    to { opacity: 1; translate: 0 0; }
}

.agendamentos__modal-cabecalho[b-0ipr5isolv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
}

.agendamentos__modal-titulo[b-0ipr5isolv] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.agendamentos__modal-resumo[b-0ipr5isolv] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.agendamentos__modal-rodape[b-0ipr5isolv] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-8);
}

.agendamentos__erro[b-0ipr5isolv] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-sm);
}
/* /Pages/Cliente/Catalogo.razor.rz.scp.css */
/*
 * Catálogo — ver docs/knowledge-base/telas-cliente/spec.md, seção 2.
 * Grade: 1 coluna no mobile, 2 a partir de 640px (seção 2.1). Cada serviço é um card com preço
 * em destaque; a ação de agendar fica sempre no pé do card.
 */

.catalogo[b-mpkkaginbm] {
    max-width: 1000px;
}

@media (min-width: 1024px) {
    .catalogo[b-mpkkaginbm] {
        margin-inline: auto;
        width: 100%;
    }
}

.catalogo__grade[b-mpkkaginbm] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-12);
}

@media (min-width: 640px) {
    .catalogo__grade[b-mpkkaginbm] {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-16);
    }
}

.catalogo__card[b-mpkkaginbm] {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
}

.catalogo__card-topo[b-mpkkaginbm] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-12);
}

.catalogo__card-titulo[b-mpkkaginbm] {
    margin: 0;
    min-width: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.catalogo__card-preco[b-mpkkaginbm] {
    margin: 0;
    flex-shrink: 0;
    color: var(--primary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
}

.catalogo__card-descricao[b-mpkkaginbm] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.catalogo__card-duracao[b-mpkkaginbm] {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin: 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

/* Legenda de restrição de barbeiro (seção 2.2). */
.catalogo__card-legenda[b-mpkkaginbm] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.catalogo__card-botao[b-mpkkaginbm] {
    margin-top: auto;
    align-self: stretch;
}

/* Lista de serviços repete a ação em todo card: o botão fica contido (borda) e só ganha a cor
   primária ao passar o mouse/focar — o preço é quem carrega o destaque do card. */
.catalogo__card-botao.ui-btn--secundario[b-mpkkaginbm] {
    border-color: var(--primary);
    color: color-mix(in srgb, var(--primary) 70%, var(--text));
    background-color: transparent;
}

.catalogo__card-botao.ui-btn--secundario:hover:not(:disabled)[b-mpkkaginbm],
.catalogo__card-botao.ui-btn--secundario:focus-visible[b-mpkkaginbm] {
    background-color: var(--primary);
    color: #FFFFFF;
}


/* ---------- Skeleton (mesma grade do conteúdo real) ---------- */

.catalogo__skeleton-card[b-mpkkaginbm] {
    height: 176px;
}
/* /Pages/Cliente/Inicio.razor.rz.scp.css */
/*
 * Início do Cliente — ver docs/knowledge-base/telas-cliente/spec.md, seção 1.
 * Bloco-herói com o nome da barbearia, status "aberto agora" e a ação dominante da tela;
 * atalhos e contato em superfícies mais baixas. Mobile-first, alvo de toque >= 44px.
 */

.home[b-j92c00n6y6] {
    max-width: 720px;
}

@media (min-width: 1024px) {
    .home[b-j92c00n6y6] {
        margin-inline: auto;
        width: 100%;
    }
}

/* ---------- Herói ---------- */

.home__hero[b-j92c00n6y6] {
    display: grid;
    justify-items: start;
    gap: var(--space-12);
    padding: var(--space-24) var(--space-16);
    border-radius: var(--radius-l);
    background-color: var(--primary-subtle);
}

@media (min-width: 640px) {
    .home__hero[b-j92c00n6y6] {
        padding: var(--space-32);
    }
}

.home__nome[b-j92c00n6y6] {
    margin: 0;
    font-size: clamp(40px, 9vw, 64px);
    line-height: 0.95;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.home__horario-hoje[b-j92c00n6y6] {
    margin: 0;
    color: var(--text-muted);
    font-size: var(--font-size-base);
}

/* Status: ponto + texto; fechado não é erro, então fica neutro. */
.home__badge[b-j92c00n6y6] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    padding: var(--space-4) var(--space-12);
    border-radius: 999px;
    background-color: var(--bg);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
}

.home__badge-ponto[b-j92c00n6y6] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: currentColor;
}

.home__badge--aberto[b-j92c00n6y6] {
    color: var(--success);
}

.home__badge--fechado[b-j92c00n6y6] {
    color: var(--text-muted);
}

.home__botao-primario[b-j92c00n6y6] {
    margin-top: var(--space-8);
    min-height: 52px;
    padding-inline: var(--space-24);
    font-size: var(--font-size-base);
}

@media (max-width: 639px) {
    .home__botao-primario[b-j92c00n6y6] {
        width: 100%;
    }
}

/* ---------- Atalhos ---------- */

.home__atalhos[b-j92c00n6y6] {
    display: grid;
    gap: var(--space-8);
}

@media (min-width: 640px) {
    .home__atalhos[b-j92c00n6y6] {
        grid-template-columns: repeat(3, 1fr);
    }
}

.home__atalho[b-j92c00n6y6] {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-height: 64px;
    padding: var(--space-12) var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
    color: var(--text);
    text-decoration: none;
    transition: background-color 0.15s, transform 0.15s var(--ease-out);
}

.home__atalho:hover[b-j92c00n6y6] {
    background-color: var(--primary-subtle);
}

.home__atalho:active[b-j92c00n6y6] {
    transform: scale(0.98);
}

.home__atalho-icone[b-j92c00n6y6] {
    display: grid;
    flex-shrink: 0;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--bg);
    color: var(--primary);
}

.home__atalho-texto[b-j92c00n6y6] {
    display: grid;
    min-width: 0;
}

.home__atalho-titulo[b-j92c00n6y6] {
    font-weight: var(--font-weight-semibold);
}

.home__atalho-sub[b-j92c00n6y6] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

/* ---------- Contato ---------- */

.home__contato[b-j92c00n6y6] {
    display: grid;
    gap: var(--space-4);
}

.home__contato-item[b-j92c00n6y6] {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-height: 44px;
    color: var(--text);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.home__contato-item:hover span[b-j92c00n6y6] {
    color: var(--primary);
}

.home__contato-item[b-j92c00n6y6]  .icone {
    flex-shrink: 0;
    color: var(--primary);
}

/* ---------- Skeleton (mesmo formato do conteúdo final) ---------- */

.home-skeleton[b-j92c00n6y6] {
    max-width: 720px;
}

.home-skeleton__atalhos[b-j92c00n6y6] {
    display: grid;
    gap: var(--space-8);
}

@media (min-width: 640px) {
    .home-skeleton__atalhos[b-j92c00n6y6] {
        grid-template-columns: repeat(3, 1fr);
    }
}

.home-skeleton__bloco[b-j92c00n6y6] {
    height: 64px;
}

.home-skeleton__bloco--heroi[b-j92c00n6y6] {
    height: 240px;
    border-radius: var(--radius-l);
}
/* /Pages/Cliente/NovoAgendamento.razor.rz.scp.css */
/*
 * Novo Agendamento — ver docs/knowledge-base/telas-cliente/spec.md, seção 3.5.
 * Fluxo em passos com indicador de progresso. Mobile: passos empilhados e a confirmação fica
 * fixa no fim da tela (acima da navegação flutuante). Desktop: Data + Horário lado a lado.
 */

.novo-agendamento[b-7grsxnis0z] {
    max-width: 960px;
}

@media (min-width: 1024px) {
    .novo-agendamento[b-7grsxnis0z] {
        margin-inline: auto;
        width: 100%;
    }
}

.novo-agendamento__carregando[b-7grsxnis0z] {
    margin: 0;
    color: var(--text-muted);
}

.novo-agendamento__skeleton[b-7grsxnis0z] {
    height: 160px;
}

/* ---------- Indicador de progresso ---------- */

.novo-agendamento__progresso[b-7grsxnis0z] {
    display: flex;
    gap: var(--space-8);
    margin: 0;
    padding: 0;
    list-style: none;
}

.novo-agendamento__etapa[b-7grsxnis0z] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: var(--space-8);
    min-width: 0;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

/* Barra de cada etapa: preenche ao concluir/entrar. */
.novo-agendamento__etapa[b-7grsxnis0z]::before {
    content: "";
    order: -1;
    height: 4px;
    border-radius: 999px;
    background-color: var(--border);
    transition: background-color 0.25s var(--ease-out);
}

.novo-agendamento__etapa--feita[b-7grsxnis0z]::before,
.novo-agendamento__etapa--atual[b-7grsxnis0z]::before {
    background-color: var(--primary);
}

.novo-agendamento__etapa--atual[b-7grsxnis0z],
.novo-agendamento__etapa--feita[b-7grsxnis0z] {
    color: var(--text);
}

.novo-agendamento__etapa-marca[b-7grsxnis0z] {
    display: none;
}

.novo-agendamento__etapa-rotulo[b-7grsxnis0z] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 640px) {
    .novo-agendamento__etapa[b-7grsxnis0z] {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }

    .novo-agendamento__etapa[b-7grsxnis0z]::before {
        flex-basis: 100%;
    }

    .novo-agendamento__etapa-marca[b-7grsxnis0z] {
        display: inline-grid;
        place-items: center;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-color: var(--bg-subtle);
        font-size: var(--font-size-xs);
    }

    .novo-agendamento__etapa--atual .novo-agendamento__etapa-marca[b-7grsxnis0z],
    .novo-agendamento__etapa--feita .novo-agendamento__etapa-marca[b-7grsxnis0z] {
        background-color: var(--primary);
        color: #FFFFFF;
    }
}

/* ---------- Passo ---------- */

.novo-agendamento__passo[b-7grsxnis0z] {
    display: grid;
    gap: var(--space-12);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
}

.novo-agendamento__passo-titulo[b-7grsxnis0z] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

/* Passo concluído, recolhido numa linha com "Trocar" (seção 3.2). */
.novo-agendamento__resumo[b-7grsxnis0z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
    font-weight: var(--font-weight-medium);
}

.novo-agendamento__resumo-texto[b-7grsxnis0z] {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    min-width: 0;
}

.novo-agendamento__resumo-texto[b-7grsxnis0z]  .icone {
    flex-shrink: 0;
    color: var(--success);
}

.novo-agendamento__trocar[b-7grsxnis0z] {
    color: var(--primary);
}

/* ---------- Opções (serviço/barbeiro) ---------- */

.novo-agendamento__opcoes[b-7grsxnis0z] {
    display: grid;
    gap: var(--space-8);
}

@media (min-width: 640px) {
    .novo-agendamento__opcoes:not(.novo-agendamento__opcoes--linha)[b-7grsxnis0z] {
        grid-template-columns: repeat(2, 1fr);
    }
}

.novo-agendamento__opcoes--linha[b-7grsxnis0z] {
    display: flex;
    flex-wrap: wrap;
}

.novo-agendamento__chip[b-7grsxnis0z] {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-height: 56px;
    padding: var(--space-8) var(--space-16);
    border: 1px solid transparent;
    border-radius: var(--radius-m);
    background-color: var(--bg);
    color: var(--text);
    font-family: inherit;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s, transform 0.15s var(--ease-out);
}

.novo-agendamento__chip:hover[b-7grsxnis0z] {
    border-color: var(--primary);
}

.novo-agendamento__chip:active[b-7grsxnis0z] {
    transform: scale(0.98);
}

.novo-agendamento__chip--barbeiro[b-7grsxnis0z] {
    min-height: 48px;
    padding: var(--space-4) var(--space-16) var(--space-4) var(--space-8);
    border-radius: 999px;
}

.novo-agendamento__chip--barbeiro:not(:has(.ui-avatar))[b-7grsxnis0z] {
    padding-left: var(--space-16);
}

.novo-agendamento__chip-texto[b-7grsxnis0z] {
    display: grid;
    flex: 1;
    min-width: 0;
}

.novo-agendamento__chip-titulo[b-7grsxnis0z] {
    font-weight: var(--font-weight-semibold);
}

.novo-agendamento__chip-meta[b-7grsxnis0z] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-regular);
}

.novo-agendamento__chip-preco[b-7grsxnis0z] {
    flex-shrink: 0;
    color: var(--primary);
    font-weight: var(--font-weight-semibold);
}

.novo-agendamento__chip-skeleton[b-7grsxnis0z] {
    height: 56px;
}

.novo-agendamento__chip-skeleton--pilula[b-7grsxnis0z] {
    width: 120px;
    height: 48px;
    border-radius: 999px;
}

/* ---------- Estado vazio/erro ---------- */

.novo-agendamento__estado[b-7grsxnis0z] {
    margin: 0;
    color: var(--text-muted);
}

.novo-agendamento__estado--erro[b-7grsxnis0z] {
    color: var(--danger);
}

.novo-agendamento__erro-concorrencia[b-7grsxnis0z] {
    margin: 0;
    padding: var(--space-12) var(--space-16);
    border-radius: var(--radius-s);
    background-color: var(--danger);
    color: var(--bg);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
}

/* ---------- Data + Horário lado a lado no desktop (seção 3.5) ---------- */

.novo-agendamento__data-horario[b-7grsxnis0z] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-24);
}

@media (min-width: 1024px) {
    .novo-agendamento__data-horario[b-7grsxnis0z] {
        grid-template-columns: minmax(0, 360px) 1fr;
        align-items: start;
    }
}

.novo-agendamento__painel[b-7grsxnis0z] {
    display: grid;
    gap: var(--space-12);
    min-width: 0;
}

/* ---------- Confirmação ---------- */

.novo-agendamento__confirmacao[b-7grsxnis0z] {
    background-color: var(--bg);
    box-shadow: var(--shadow-2);
}

/* Mobile: resumo fixo no fim, acima da pílula de navegação. */
@media (max-width: 1023px) {
    .novo-agendamento__confirmacao[b-7grsxnis0z] {
        position: sticky;
        bottom: calc(64px + var(--space-16) + env(safe-area-inset-bottom, 0px));
        z-index: 5;
    }
}

@media (min-width: 1024px) {
    .novo-agendamento__confirmacao[b-7grsxnis0z] {
        box-shadow: none;
        background-color: var(--primary-subtle);
    }
}

.novo-agendamento__resumo-lista[b-7grsxnis0z] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-4) var(--space-16);
    margin: 0;
}

.novo-agendamento__resumo-lista dt[b-7grsxnis0z] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.novo-agendamento__resumo-lista dd[b-7grsxnis0z] {
    margin: 0;
    font-weight: var(--font-weight-medium);
}

.novo-agendamento__botao-primario[b-7grsxnis0z] {
    min-height: 52px;
    font-size: var(--font-size-base);
}

@media (min-width: 640px) {
    .novo-agendamento__botao-primario[b-7grsxnis0z] {
        justify-self: start;
        min-width: 240px;
    }
}

/* ---------- Vários serviços: chip alternável + total ---------- */

.novo-agendamento__chip--servico[aria-pressed='true'][b-7grsxnis0z] {
    border-color: var(--primary);
    background-color: color-mix(in srgb, var(--primary) 10%, var(--bg));
}

.novo-agendamento__marca[b-7grsxnis0z] {
    display: grid;
    flex-shrink: 0;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1.5px solid var(--text-muted);
    border-radius: 6px;
    color: transparent;
}

.novo-agendamento__chip--servico[aria-pressed='true'] .novo-agendamento__marca[b-7grsxnis0z] {
    border-color: var(--primary);
    background-color: var(--primary);
    color: var(--bg);
}

.novo-agendamento__total[b-7grsxnis0z] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
    margin-top: var(--space-12);
}

.novo-agendamento__total-texto[b-7grsxnis0z] {
    display: grid;
    min-width: 0;
}

.novo-agendamento__total-valor[b-7grsxnis0z] {
    font-weight: var(--font-weight-semibold);
}

.novo-agendamento__total-meta[b-7grsxnis0z] {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.novo-agendamento__aviso-sinal[b-7grsxnis0z] {
    margin: 0;
    padding: var(--space-12);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm, 8px);
    background-color: var(--primary-subtle);
    line-height: 1.5;
    font-size: 0.875rem;
}
/* /Pages/Cliente/PagamentoSinal.razor.rz.scp.css */
.pagamento-sinal[b-6xsbeh4e4o] {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    width: 100%;
}

@media (min-width: 1024px) {
    .pagamento-sinal[b-6xsbeh4e4o] {
        max-width: 480px;
        margin-inline: auto;
    }
}

.pagamento-sinal__card[b-6xsbeh4e4o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-12);
    padding: var(--space-16);
    border: 1px solid var(--border);
    border-radius: var(--radius-md, 12px);
    background-color: var(--surface);
    text-align: center;
}

.pagamento-sinal__valor[b-6xsbeh4e4o] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
}

.pagamento-sinal__restante[b-6xsbeh4e4o] {
    margin: 0;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

.pagamento-sinal__qr[b-6xsbeh4e4o] {
    width: 220px;
    height: 220px;
    max-width: 100%;
    background: #fff;
    padding: var(--space-8);
    border-radius: var(--radius-sm, 8px);
}

.pagamento-sinal__ajuda[b-6xsbeh4e4o],
.pagamento-sinal__aviso[b-6xsbeh4e4o] {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.5;
}

.pagamento-sinal__aviso[b-6xsbeh4e4o] {
    font-size: 0.8125rem;
}
/* /Pages/Cliente/Perfil.razor.rz.scp.css */
/*
 * Perfil — ver docs/knowledge-base/telas-cliente/spec.md, seção 5.
 * Cabeçalho de identidade, depois seções agrupadas em superfícies (dados, preferências e conta).
 */

.perfil[b-s2okvujc14] {
    max-width: 560px;
}

@media (min-width: 1024px) {
    .perfil[b-s2okvujc14] {
        margin-inline: auto;
        width: 100%;
    }
}

/* ---------- Identidade ---------- */

.perfil__identidade[b-s2okvujc14] {
    display: flex;
    align-items: center;
    gap: var(--space-16);
    padding: var(--space-16);
    border-radius: var(--radius-l);
    background-color: var(--primary-subtle);
}

.perfil__avatar[b-s2okvujc14] {
    width: 64px;
    height: 64px;
    background-color: var(--primary);
    color: #FFFFFF;
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 700;
}

.perfil__identidade-texto[b-s2okvujc14] {
    min-width: 0;
}

.perfil__identidade-nome[b-s2okvujc14] {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.perfil__identidade-email[b-s2okvujc14] {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

/* ---------- Seções ---------- */

.perfil__secao[b-s2okvujc14] {
    display: grid;
    gap: var(--space-16);
    padding: var(--space-16);
    border-radius: var(--radius-m);
    background-color: var(--bg-subtle);
}

.perfil__secao-titulo[b-s2okvujc14] {
    margin: 0;
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
}

.perfil__campo-erro[b-s2okvujc14] {
    margin: 0;
    color: var(--danger);
    font-size: var(--font-size-xs);
}

.perfil__input:disabled[b-s2okvujc14] {
    color: var(--text-muted);
    background-color: var(--bg-subtle);
    cursor: not-allowed;
}

.perfil__input--erro[b-s2okvujc14] {
    border-color: var(--danger);
}

.perfil__botao-primario[b-s2okvujc14] {
    justify-self: start;
}

@media (max-width: 639px) {
    .perfil__botao-primario[b-s2okvujc14] {
        justify-self: stretch;
    }
}

/* ---------- Preferências e conta ---------- */

.perfil__lista[b-s2okvujc14] {
    display: grid;
    gap: var(--space-8);
}

.perfil__acao[b-s2okvujc14] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-12);
    min-height: 56px;
    padding: var(--space-8) var(--space-16);
    border-radius: var(--radius-s);
    background-color: var(--bg);
}

.perfil__acao-texto[b-s2okvujc14] {
    min-width: 0;
}

.perfil__acao-rotulo[b-s2okvujc14] {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
}

.perfil__acao-nota[b-s2okvujc14] {
    margin: 2px 0 0;
    color: var(--text-muted);
    font-size: var(--font-size-xs);
}

.perfil__botao-perigo[b-s2okvujc14] {
    justify-self: start;
}

/* ---------- Skeleton (mesmo formato do conteúdo) ---------- */

.perfil__skeleton[b-s2okvujc14] {
    display: grid;
    gap: var(--space-16);
}

.perfil__skeleton-identidade[b-s2okvujc14] {
    height: 96px;
    border-radius: var(--radius-l);
}

.perfil__skeleton-bloco[b-s2okvujc14] {
    height: 120px;
}

/* Seletor de tema com alvo de toque confortável (o do menu do cabeçalho segue compacto). */
.perfil__acao[b-s2okvujc14]  .theme-toggle__option {
    min-height: 40px;
    padding-inline: var(--space-12);
    font-size: var(--font-size-sm);
}
/* /Pages/NotFound.razor.rz.scp.css */
.nao-encontrado[b-9do3s0lh7f] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-8);
    padding: var(--space-48) var(--container-padding);
    text-align: center;
}

.nao-encontrado__poste[b-9do3s0lh7f] {
    width: 72px;
    height: auto;
    margin-bottom: var(--space-8);
}

.nao-encontrado__vidro[b-9do3s0lh7f] {
    fill: var(--bg-subtle);
    stroke: var(--border);
    stroke-width: 2;
}

.nao-encontrado__listra[b-9do3s0lh7f] {
    fill: none;
    stroke: var(--primary);
    stroke-width: 7;
    stroke-linecap: round;
}

.nao-encontrado__tampa[b-9do3s0lh7f] {
    fill: var(--text-muted);
}

.nao-encontrado__texto[b-9do3s0lh7f] {
    margin: 0;
    color: var(--text-muted);
}

.nao-encontrado__voltar[b-9do3s0lh7f] {
    margin-top: var(--space-12);
    padding: var(--space-12) var(--space-24);
    border-radius: 8px;
    background-color: var(--primary);
    color: #FFFFFF;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
}
/* /Pages/Plataforma/Landing.razor.rz.scp.css */
/*
 * Landing da plataforma. Tokens e primitivas (botões, poste, aurora) vêm de wwwroot/css/plataforma.css;
 * cada seção-componente tem o próprio CSS em Components/Plataforma. Aqui: composição da página e formulário.
 * As classes .landing__* do formulário são as mesmas de antes (os testes dependem delas).
 */

.pagina[b-gob0c1jb20] {
    overflow-x: clip;
}

.secao__titulo[b-gob0c1jb20] {
    max-width: 16ch;
    margin-bottom: clamp(2rem, 5vw, 4rem);
}

/* ---------- Hero ---------- */

.hero[b-gob0c1jb20] {
    position: relative;
    padding-top: clamp(112px, 14vw, 168px);
    padding-bottom: clamp(56px, 8vw, 112px);
    overflow: hidden;
}

.hero__grade[b-gob0c1jb20] {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(2.5rem, 6vw, 4rem);
    align-items: center;
}

@media (min-width: 1000px) {
    .hero__grade[b-gob0c1jb20] {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    }
}

.hero__texto[b-gob0c1jb20] {
    display: grid;
    gap: clamp(1.25rem, 3vw, 1.75rem);
    justify-items: start;
}

/* Uma única sequência de entrada: as duas linhas do título sobem de uma máscara, o resto acompanha. */
.hero__titulo[b-gob0c1jb20] {
    display: grid;
    /* Menor que o display padrão: título, subtítulo e CTA precisam caber juntos acima da dobra. */
    font-size: clamp(3rem, 7vw, 6rem);
}

.hero__linha[b-gob0c1jb20] {
    display: block;
    overflow: hidden;
    padding-bottom: 0.08em;
}

.hero__linha > span[b-gob0c1jb20] {
    display: block;
    animation: hero-sobe-b-gob0c1jb20 1.1s var(--cf-ease) backwards;
}

.hero__linha:nth-child(2) > span[b-gob0c1jb20] {
    animation-delay: 0.14s;
}

.hero__lead[b-gob0c1jb20],
.hero__acoes[b-gob0c1jb20],
.hero__garantias[b-gob0c1jb20] {
    animation: hero-entra-b-gob0c1jb20 0.9s var(--cf-ease) backwards;
}

.hero__lead[b-gob0c1jb20] { animation-delay: 0.45s; }
.hero__acoes[b-gob0c1jb20] { animation-delay: 0.6s; }
.hero__garantias[b-gob0c1jb20] { animation-delay: 0.75s; }

.hero__cena[b-gob0c1jb20] {
    animation: hero-cena-b-gob0c1jb20 1.3s var(--cf-ease) 0.35s backwards;
}

@keyframes hero-sobe-b-gob0c1jb20 {
    from { transform: translateY(105%); }
}

@keyframes hero-entra-b-gob0c1jb20 {
    from { opacity: 0; transform: translateY(16px); }
}

@keyframes hero-cena-b-gob0c1jb20 {
    from { opacity: 0; transform: translateY(40px) scale(0.96); }
}

.hero__acoes[b-gob0c1jb20] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

/* No celular os dois botões ocupam a linha toda: alvo grande, na zona do polegar. */
@media (max-width: 519px) {
    .hero__acoes[b-gob0c1jb20] {
        width: 100%;
    }

    .hero__acoes .cf-btn[b-gob0c1jb20] {
        flex: 1 1 100%;
    }
}

.hero__garantias[b-gob0c1jb20] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--cf-fg-muted);
    font-size: 0.9375rem;
    font-weight: 600;
}

.hero__garantias li[b-gob0c1jb20] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.hero__garantias li[b-gob0c1jb20]::before {
    content: '';
    width: 1.05rem;
    height: 1.05rem;
    background: var(--cf-ok);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0a10 10 0 100 20 10 10 0 000-20zm4.6 7.4l-5.5 6a1 1 0 01-1.5.05L5.3 11a1 1 0 011.4-1.4l1.6 1.6 4.8-5.2a1 1 0 011.5 1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Demonstração ---------- */

.demo-secao[b-gob0c1jb20] {
    position: relative;
    background: var(--cf-ink-2);
    overflow: hidden;
}

.demo-secao__miolo[b-gob0c1jb20] {
    position: relative;
    z-index: 1;
}

.demo-secao__brilho[b-gob0c1jb20] {
    opacity: 0.7;
}

/* ---------- Preço ---------- */

.preco__grade[b-gob0c1jb20] {
    display: grid;
    gap: clamp(2.5rem, 6vw, 4rem);
    align-items: center;
    justify-items: center;
}

.preco__texto[b-gob0c1jb20] {
    display: grid;
    gap: 1.25rem;
    justify-items: start;
    width: 100%;
}

@media (min-width: 960px) {
    .preco__grade[b-gob0c1jb20] {
        grid-template-columns: 1fr minmax(380px, 480px);
    }
}

/* ---------- Contratar ---------- */

.contratar[b-gob0c1jb20] {
    position: relative;
    overflow: hidden;
    background: var(--cf-ink-2);
}

.contratar__brilho[b-gob0c1jb20] {
    opacity: 0.55;
}

.contratar__grade[b-gob0c1jb20] {
    position: relative;
    z-index: 1;
    display: grid;
    gap: clamp(2.5rem, 6vw, 4.5rem);
    align-items: start;
}

@media (min-width: 1000px) {
    .contratar__grade[b-gob0c1jb20] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 540px);
    }

    .contratar__lado[b-gob0c1jb20] {
        position: sticky;
        top: 108px;
    }
}

.contratar__lado[b-gob0c1jb20] {
    display: grid;
    gap: 1.5rem;
    justify-items: start;
}

/* ---------- Perguntas ---------- */

.perguntas__grade[b-gob0c1jb20] {
    display: grid;
    gap: clamp(2rem, 5vw, 3.5rem);
}

@media (min-width: 960px) {
    .perguntas__grade[b-gob0c1jb20] {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
        align-items: start;
    }

    .perguntas__grade > h2[b-gob0c1jb20] {
        position: sticky;
        top: 108px;
    }
}

/* ---------- Chamada final ---------- */

.final[b-gob0c1jb20] {
    position: relative;
    padding-block: clamp(72px, 11vw, 140px);
    background: var(--cf-blue);
    color: #fff;
    overflow: hidden;
}

.final__fita[b-gob0c1jb20] {
    position: absolute;
    inset: 0 0 auto 0;
    height: 8px;
}

.final__miolo[b-gob0c1jb20] {
    display: grid;
    gap: 1.75rem;
    justify-items: start;
}

.final__miolo[b-gob0c1jb20] {
    position: relative;
    z-index: 1;
}

.final__miolo h2[b-gob0c1jb20] {
    max-width: 18ch;
    font-size: clamp(3rem, 8vw, 6.5rem);
}

/* Poste de barbeiro sangrando pela lateral — o mesmo motivo das telas de entrada. */
.final__poste[b-gob0c1jb20] {
    position: absolute;
    top: -40px;
    bottom: -40px;
    right: clamp(16px, 9vw, 160px);
    width: clamp(28px, 5vw, 64px);
    border-radius: 999px;
    border: 3px solid rgba(255, 255, 255, 0.85);
    overflow: hidden;
    box-shadow: 0 0 80px rgba(10, 16, 36, 0.45);
    pointer-events: none;
}

.final__poste .cf-pole[b-gob0c1jb20] {
    height: 100%;
}

@media (max-width: 639px) {
    .final__poste[b-gob0c1jb20] {
        opacity: 0.35;
    }
}

.final__nota[b-gob0c1jb20] {
    margin: 0;
    font-weight: 600;
    opacity: 0.9;
}
/* /Pages/Plataforma/MinhaConta.razor.rz.scp.css */
/*
 * Portal "Minha conta" (convites + minhas barbearias + assinatura). Botões vêm do design system da plataforma (.cf-btn); as classes .portal__*
 * são as mesmas de antes (hooks de teste e semântica). Cada barbearia é uma "comanda": faixa lateral
 * com o poste na cor do estado da assinatura (verde = ativa, âmbar = atraso, vermelho = bloqueada).
 */

.portal[b-ybafylpk2f] {
    width: 100%;
    align-self: start;
}

.portal__conteudo[b-ybafylpk2f] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
}

.portal__topo[b-ybafylpk2f] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.portal__marca[b-ybafylpk2f] {
    display: inline-flex;
    text-decoration: none;
    --marca-tamanho: 1.7rem;
}

.portal__titulo[b-ybafylpk2f] {
    max-width: 12ch;
    margin-bottom: 0.5rem;
}

.portal__texto[b-ybafylpk2f] {
    margin: 0;
    color: var(--cf-fg-muted);
}

.portal__erro[b-ybafylpk2f] {
    margin: 0;
    color: var(--cf-bad);
    font-weight: 600;
}

.portal__aviso[b-ybafylpk2f] {
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(255, 194, 75, 0.5);
    border-radius: 12px;
    background: rgba(255, 194, 75, 0.09);
    color: var(--cf-warn);
    font-weight: 600;
}

.portal__card[b-ybafylpk2f] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: clamp(1.25rem, 4vw, 1.75rem) clamp(1.25rem, 4vw, 1.75rem) clamp(1.25rem, 4vw, 1.75rem) clamp(1.6rem, 5vw, 2.25rem);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius-l);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    overflow: hidden;
}

/* Faixa lateral: cor do estado. */
.portal__card[b-ybafylpk2f]::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 8px;
    background: var(--cf-line-strong);
}

.portal__card:has([data-billing-status].portal__status--ok)[b-ybafylpk2f]::before {
    background: repeating-linear-gradient(135deg, var(--cf-ok) 0 8px, rgba(61, 220, 151, 0.35) 8px 16px);
    background-size: 100% var(--cf-pole-h);
    animation: cf-pole-y 3s linear infinite;
}

.portal__card:has([data-billing-status].portal__status--alerta)[b-ybafylpk2f]::before {
    background: var(--cf-warn);
}

.portal__card:has([data-billing-status].portal__status--erro)[b-ybafylpk2f]::before {
    background: var(--cf-bad);
}

.portal__card-cabecalho[b-ybafylpk2f] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
}

.portal__card-titulo[b-ybafylpk2f] {
    margin: 0;
    font-family: var(--cf-font-display);
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1;
}

.portal__status[b-ybafylpk2f] {
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--cf-line-strong);
    font-size: 0.8125rem;
    font-weight: 700;
    white-space: nowrap;
}

.portal__status--ok[b-ybafylpk2f] {
    color: var(--cf-ok);
    border-color: rgba(61, 220, 151, 0.55);
    background: rgba(61, 220, 151, 0.1);
}

.portal__status--alerta[b-ybafylpk2f] {
    color: var(--cf-warn);
    border-color: rgba(255, 194, 75, 0.55);
    background: rgba(255, 194, 75, 0.1);
}

.portal__status--erro[b-ybafylpk2f] {
    color: var(--cf-bad);
    border-color: rgba(255, 122, 122, 0.55);
    background: rgba(255, 122, 122, 0.1);
}

.portal__acoes[b-ybafylpk2f] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.portal__confirmacao[b-ybafylpk2f] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255, 122, 122, 0.55);
    border-radius: 14px;
    background: rgba(255, 122, 122, 0.08);
    animation: portal-abre-b-ybafylpk2f 0.35s var(--cf-ease);
}

.portal__confirmacao p[b-ybafylpk2f] {
    margin: 0;
}

@keyframes portal-abre-b-ybafylpk2f {
    from { opacity: 0; transform: translateY(-8px); }
}

/* Cancelar (ação destrutiva): contorno vermelho; só o botão de confirmar é preenchido (.cf-btn--danger). */
.portal__botao--perigo.cf-btn--ghost[b-ybafylpk2f] {
    color: var(--cf-bad);
    border-color: rgba(255, 122, 122, 0.5);
}

.portal__botao--perigo.cf-btn--ghost:hover:not(:disabled)[b-ybafylpk2f] {
    background: rgba(255, 122, 122, 0.12);
}

.portal__nova[b-ybafylpk2f] {
    align-self: flex-start;
}

/* ---------- Seções (Convites / Minhas barbearias) ---------- */

.portal__secao[b-ybafylpk2f] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.portal__secao-titulo[b-ybafylpk2f] {
    margin: 0.5rem 0 0;
    font-family: var(--cf-font-display);
    font-size: 1.25rem;
    font-weight: 700;
}

.portal__convite[b-ybafylpk2f] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--cf-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
}

.portal__convite-texto[b-ybafylpk2f] {
    margin: 0;
    overflow-wrap: anywhere;
}

/* Card inteiro clicável: o link do título estica um ::after por cima do card; botões/confirmação ficam acima dele. */
.portal__card--clicavel[b-ybafylpk2f] {
    cursor: pointer;
}

.portal__card-link[b-ybafylpk2f] {
    color: inherit;
    text-decoration: none;
}

.portal__card-link[b-ybafylpk2f]::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
}

.portal__card-link:focus-visible[b-ybafylpk2f]::after {
    outline: 2px solid var(--cf-blue);
    outline-offset: -2px;
    border-radius: var(--cf-radius-l);
}

.portal__card--clicavel:hover[b-ybafylpk2f] {
    border-color: var(--cf-line-strong);
}

.portal__card--clicavel .portal__acoes[b-ybafylpk2f],
.portal__card--clicavel .portal__confirmacao[b-ybafylpk2f],
.portal__card--clicavel .portal__aviso[b-ybafylpk2f],
.portal__card--clicavel .portal__erro[b-ybafylpk2f] {
    position: relative;
    z-index: 1;
}
/* /Pages/Plataforma/NovaBarbearia.razor.rz.scp.css */
/*
 * "Criar nova barbearia". Campos, slug, botões e estados de erro vêm de wwwroot/css/plataforma.css
 * (compartilhado com a landing pelas classes .nova__*); aqui só a composição da tela.
 */

.nova[b-ukhzm7f9ja] {
    display: grid;
    gap: clamp(1rem, 3vw, 1.75rem);
    width: 100%;
    align-content: start;
}

.nova__topo[b-ukhzm7f9ja] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
}

.nova__marca[b-ukhzm7f9ja] {
    display: inline-flex;
    text-decoration: none;
    --marca-tamanho: 1.7rem;
}

.nova__voltar[b-ukhzm7f9ja] {
    padding-block: 0.6rem;
    color: var(--cf-blue-soft);
    font-weight: 700;
    text-underline-offset: 4px;
}

.nova__titulo[b-ukhzm7f9ja] {
    max-width: 14ch;
}

.nova__intro[b-ukhzm7f9ja] {
    max-width: 60ch;
}

.nova__entrar[b-ukhzm7f9ja] {
    display: grid;
    gap: 1.25rem;
    justify-items: start;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius-l);
    background: var(--cf-surface);
}

.nova__grade[b-ukhzm7f9ja] {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
}

@media (min-width: 960px) {
    .nova__grade[b-ukhzm7f9ja] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
    }

    .nova__previa[b-ukhzm7f9ja] {
        position: sticky;
        top: 2rem;
    }
}
/* /Pages/Plataforma/PosCheckout.razor.rz.scp.css */
.plataforma[b-4mgjaga5e1] {
    display: grid;
    width: 100%;
    justify-items: center;
}

.plataforma__card[b-4mgjaga5e1] {
    display: grid;
    gap: 1.25rem;
    justify-items: start;
    width: min(100%, 620px);
    padding: clamp(1.5rem, 5vw, 3rem);
    border-radius: var(--cf-radius-l);
    box-shadow: 0 50px 120px -50px rgba(61, 107, 255, 0.6);
    --marca-tamanho: 1.8rem;
}

.plataforma__titulo[b-4mgjaga5e1] {
    max-width: 12ch;
    font-size: clamp(2.75rem, 8vw, 4.25rem);
}

.plataforma__texto[b-4mgjaga5e1] {
    max-width: 44ch;
}

/* Trilho vertical: uma faixa de poste percorre as etapas sem marcar nenhuma como concluída. */
.plataforma__etapas[b-4mgjaga5e1] {
    position: relative;
    display: grid;
    gap: 0.25rem;
    width: 100%;
    margin: 0.25rem 0;
    padding: 0.25rem 0 0.25rem 1.75rem;
    list-style: none;
    border-left: 3px solid var(--cf-line);
}

.plataforma__etapas[b-4mgjaga5e1]::before {
    content: '';
    position: absolute;
    left: -3px;
    top: 0;
    width: 3px;
    height: 25%;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--cf-red), var(--cf-foam), var(--cf-blue));
    animation: plataforma-percorre-b-4mgjaga5e1 4.8s var(--cf-ease) infinite;
}

@keyframes plataforma-percorre-b-4mgjaga5e1 {
    0% { transform: translateY(0); }
    100% { transform: translateY(300%); }
}

.plataforma__etapa[b-4mgjaga5e1] {
    padding-block: 0.6rem;
    font-weight: 600;
    animation: plataforma-etapa-b-4mgjaga5e1 4.8s ease-in-out infinite;
    animation-delay: calc(var(--i) * 1.2s - 0.6s);
}

@keyframes plataforma-etapa-b-4mgjaga5e1 {
    0%, 30%, 100% { color: var(--cf-fg-muted); }
    12% { color: var(--cf-foam); }
}

.plataforma__notas[b-4mgjaga5e1] {
    display: grid;
    gap: 0.6rem;
    color: var(--cf-fg-muted);
    font-size: 0.9375rem;
}

.plataforma__notas p[b-4mgjaga5e1] {
    margin: 0;
    max-width: 52ch;
}
/* /Pages/Registrar.razor.rz.scp.css */
/*
 * Registro — variantes "Convite" (issue #50) e "Aberto" (issue #52), ver
 * docs/knowledge-base/telas-autenticacao/spec.md, seção 3. Visual do design system da plataforma
 * (palco <Cena>): o conteúdo é um cartão de vidro; campos com rótulo sempre visível.
 */

.registrar__conteudo[b-q8lydlykpc] {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: min(100%, 460px);
    padding: clamp(1.5rem, 5vw, 2.5rem);
    border: 1px solid var(--cf-line);
    border-radius: var(--cf-radius-l);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.03));
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    box-shadow: 0 50px 120px -50px rgba(61, 107, 255, 0.6);
    animation: registrar-entra-b-q8lydlykpc 0.9s var(--cf-ease) backwards;
}

@keyframes registrar-entra-b-q8lydlykpc {
    from { opacity: 0; transform: translateY(24px) scale(0.98); }
}

.registrar__titulo[b-q8lydlykpc] {
    margin: 0;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
}

.registrar__subtitulo[b-q8lydlykpc] {
    margin: 0;
    color: var(--cf-fg-muted);
}

.registrar__form[b-q8lydlykpc] {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.registrar__campo[b-q8lydlykpc] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.registrar__campo label[b-q8lydlykpc] {
    font-size: 0.9375rem;
    font-weight: 700;
}

.registrar__input[b-q8lydlykpc] {
    width: 100%;
    min-height: 52px;
    padding: 0 1rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    color: var(--cf-fg);
    font: 500 1rem/1.2 var(--cf-font-body);
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.registrar__input:hover:not(:disabled)[b-q8lydlykpc] {
    border-color: var(--cf-blue-soft);
}

.registrar__input:focus[b-q8lydlykpc] {
    outline: none;
    border-color: var(--cf-blue-soft);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 4px rgba(138, 165, 255, 0.22);
}

.registrar__input:disabled[b-q8lydlykpc] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Código de convite: maiúsculas automáticas (seção 3.1, passo 1) — só neste campo, nunca Nome/Telefone.
   Espaçado e monoespaçado para dar para conferir o código letra a letra. */
.registrar__input--codigo[b-q8lydlykpc] {
    text-transform: uppercase;
    font-family: ui-monospace, 'Cascadia Code', Menlo, Consolas, monospace;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.registrar__input--erro[b-q8lydlykpc] {
    border-color: var(--cf-bad);
}

.registrar__input--erro:focus[b-q8lydlykpc] {
    border-color: var(--cf-bad);
    box-shadow: 0 0 0 4px rgba(255, 122, 122, 0.22);
}

.registrar__campo-erro[b-q8lydlykpc] {
    margin: 0;
    color: var(--cf-bad);
    font-size: 0.875rem;
    font-weight: 600;
}
/* /Pages/Splash.razor.rz.scp.css */
/*
 * Splash / Primeiro Acesso — ver docs/knowledge-base/telas-autenticacao/spec.md, seção 1.
 * Visual do design system da plataforma (palco <Cena>). Composição: o nome da barbearia é a
 * tela — enorme, alinhado à esquerda — e as ações ficam embaixo, na zona do polegar.
 */

.splash__conteudo[b-s90etr4dpf] {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 1.25rem;
    justify-self: start;
    width: 100%;
    max-width: 560px;
    min-height: min(100dvh - 6rem, 760px);
    text-align: left;
    /* Reserva o lado do poste (Cena) para o título não passar por baixo dele. */
    padding-right: clamp(1.5rem, 8vw, 3rem);
}

.splash__nome-barbearia[b-s90etr4dpf] {
    margin: 0;
    font-family: var(--cf-font-display);
    font-size: clamp(3.6rem, 15vw, 8.5rem);
    font-weight: 800;
    line-height: 0.88;
    letter-spacing: -0.005em;
    overflow-wrap: anywhere;
    text-wrap: balance;
    animation: splash-sobe-b-s90etr4dpf 1.1s var(--cf-ease) backwards;
}

.splash__boas-vindas[b-s90etr4dpf] {
    margin: 0;
    color: var(--cf-fg-muted);
    font-size: 1.25rem;
    animation: splash-entra-b-s90etr4dpf 0.9s var(--cf-ease) 0.3s backwards;
}

.splash__continuar-como[b-s90etr4dpf] {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.25rem 0 0;
    padding: 0.5rem 1rem 0.5rem 0.5rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 999px;
    background: var(--cf-surface);
    font-size: 0.9375rem;
    animation: splash-entra-b-s90etr4dpf 0.9s var(--cf-ease) 0.4s backwards;
}

.splash__avatar[b-s90etr4dpf] {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--cf-blue), var(--cf-blue-soft));
    color: #fff;
    font-family: var(--cf-font-display);
    font-size: 1.25rem;
    font-weight: 800;
}

.splash__acoes[b-s90etr4dpf] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    margin-top: 0.5rem;
    animation: splash-entra-b-s90etr4dpf 0.9s var(--cf-ease) 0.5s backwards;
}

@media (min-width: 640px) {
    .splash__acoes[b-s90etr4dpf] {
        width: min(100%, 360px);
    }
}

.splash__assinatura[b-s90etr4dpf] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
    color: var(--cf-fg-muted);
    font-size: 0.875rem;
    --marca-tamanho: 1.15rem;
    animation: splash-entra-b-s90etr4dpf 0.9s var(--cf-ease) 0.7s backwards;
}

@keyframes splash-sobe-b-s90etr4dpf {
    from { opacity: 0; transform: translateY(48px); }
}

@keyframes splash-entra-b-s90etr4dpf {
    from { opacity: 0; transform: translateY(14px); }
}
/* /Pages/SuperAdmin/SuperAdminShell.razor.rz.scp.css */
/*
 * Painel do superadmin: console de operação, não vitrine. Fundo liso azul-noite (sem aurora/poste do palco da
 * plataforma), uma coluna estreita à esquerda e linhas separadas por filete. O único elemento desenhado é a
 * barra de divisão do sinal (DivisaoDoSinal).
 */

.painel[b-54nt32jsfp] {
    min-height: 100vh;
    background: var(--cf-bg);
    color: var(--cf-fg);
    font-family: var(--cf-font-body);
}

.painel__topo[b-54nt32jsfp] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1rem var(--cf-gutter);
    border-bottom: 1px solid var(--cf-line);
}

.painel__marca[b-54nt32jsfp] {
    display: inline-flex;
    text-decoration: none;
    --marca-tamanho: 1.5rem;
}

.painel__papel[b-54nt32jsfp] {
    padding: 0.2rem 0.6rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: 999px;
    color: var(--cf-fg-muted);
    font-size: 0.85rem;
    font-weight: 600;
}

.painel__sair[b-54nt32jsfp] {
    margin-left: auto;
}

.painel__conteudo[b-54nt32jsfp] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    max-width: 760px;
    margin-inline: 0;
    padding: 2rem var(--cf-gutter) 4rem;
}

.painel__titulo[b-54nt32jsfp] {
    margin: 0;
}

.painel__texto[b-54nt32jsfp] {
    margin: 0;
    color: var(--cf-fg-muted);
}

.painel__erro[b-54nt32jsfp] {
    margin: 0;
    color: var(--cf-bad);
    font-weight: 600;
}

.painel__entrar[b-54nt32jsfp] {
    align-self: flex-start;
}

.painel__secao[b-54nt32jsfp] {
    display: flex;
    flex-direction: column;
}

.painel__secao-cabecalho[b-54nt32jsfp] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.painel__secao-titulo[b-54nt32jsfp] {
    margin: 0 0 0.5rem;
    font: 700 1.5rem/1.1 var(--cf-font-display);
    letter-spacing: 0.01em;
}

.painel__secao-cabecalho .painel__secao-titulo[b-54nt32jsfp] {
    margin-bottom: 0;
}

.painel__busca[b-54nt32jsfp] {
    display: grid;
    gap: 0.25rem;
}

.painel__busca-rotulo[b-54nt32jsfp] {
    color: var(--cf-fg-muted);
    font-size: 0.85rem;
    font-weight: 600;
}

.painel__busca-input[b-54nt32jsfp] {
    min-height: 44px;
    min-width: min(16rem, 100%);
    padding: 0 0.85rem;
    border: 1px solid var(--cf-line-strong);
    border-radius: var(--cf-radius-s);
    background: var(--cf-surface);
    color: inherit;
    font: inherit;
}

.painel__busca-input:focus[b-54nt32jsfp] {
    outline: none;
    border-color: var(--cf-blue-soft);
    box-shadow: 0 0 0 3px rgba(61, 107, 255, 0.25);
}

@media (max-width: 560px) {
    .painel__busca[b-54nt32jsfp],
    .painel__busca-input[b-54nt32jsfp] {
        width: 100%;
    }
}
