/* /Components/AttachmentViewer.razor.rz.scp.css */
/* Visualizador do anexo: barra em cima, ficheiro no resto do ecrã. Fica acima de tudo (os modais da
   app vivem no z-index 100; este é chamado de dentro deles). */
.av[b-4emtqos22s] {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: rgba(20, 18, 12, .82);
    display: grid;
    grid-template-rows: auto 1fr;
}

.av__bar[b-4emtqos22s] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    padding: .6rem .8rem;
    padding-top: calc(.6rem + env(safe-area-inset-top, 0px));
    background: var(--p360-surface);
    border-bottom: 1px solid var(--p360-border);
}

.av__t[b-4emtqos22s] { display: flex; align-items: center; gap: .45rem; min-width: 0; font-weight: 600; }
.av__t i[b-4emtqos22s] { color: var(--p360-primary-700); }
.av__nm[b-4emtqos22s] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.av__sz[b-4emtqos22s] { font-weight: 400; color: var(--p360-text-muted); font-size: .8rem; }
.av__acts[b-4emtqos22s] { display: flex; gap: .4rem; margin-left: auto; flex-wrap: wrap; }

.av__body[b-4emtqos22s] {
    overflow: auto;
    padding: 1rem;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
    display: grid;
    place-items: start center;
}

.av__img[b-4emtqos22s] {
    max-width: min(100%, 1100px);
    max-height: 100%;
    background: #fff;
    border-radius: var(--p360-radius);
    box-shadow: var(--p360-shadow-lg);
}

/* O PDF ocupa a altura toda: uma moldura baixa obriga a dois scrolls (o da página e o do PDF). */
.av__pdf[b-4emtqos22s] {
    width: min(100%, 1100px);
    height: 100%;
    min-height: 60vh;
    border: 0;
    background: #fff;
    border-radius: var(--p360-radius);
    box-shadow: var(--p360-shadow-lg);
}

.av__msg[b-4emtqos22s] { color: #fff; margin: 2rem 0 0; }

/* Em telemóvel os rótulos dos botões saem: os ícones bastam e a barra cabe numa linha. */
@media (max-width: 560px) {
    .av__lbl[b-4emtqos22s] { display: none; }
}
/* /Components/BedLocationBadge.razor.rz.scp.css */
/* Uma linha onde há espaço. O "·" entre as duas metades é do CSS, não do markup: assim
   desaparece sozinho quando elas passam a linhas separadas. */
.bedloc[b-j0skcrh3us] {
    align-items: center;
    text-align: left;
}

.bedloc__bed[b-j0skcrh3us]::before {
    content: "·";
    margin: 0 .3em;
    opacity: .6;
}

/* Nenhuma das metades parte a meio ("Unidade / Masculina"): ou cabe, ou empilha-se a outra. */
.bedloc__unit[b-j0skcrh3us],
.bedloc__bed[b-j0skcrh3us] {
    white-space: nowrap;
}

/* ---- Duas linhas deliberadas ----
   Grelha em vez de coluna flex para o ícone ficar à esquerda das DUAS linhas, e não sozinho
   numa terceira. A pastilha perde o raio de pílula: com duas linhas, o oval fica com ar de balão. */
.bedloc--stack[b-j0skcrh3us] {
    display: inline-grid;
    grid-template-columns: auto 1fr;
    column-gap: .4rem;
    align-items: start;
    border-radius: var(--p360-radius-sm);
    padding: .28rem .55rem;
    line-height: 1.3;
}

.bedloc--stack > i[b-j0skcrh3us] { grid-column: 1; grid-row: 1 / span 2; margin-top: .15rem; }
.bedloc--stack .bedloc__unit[b-j0skcrh3us] { grid-column: 2; grid-row: 1; }
.bedloc--stack .bedloc__bed[b-j0skcrh3us] { grid-column: 2; grid-row: 2; font-weight: 500; opacity: .85; }
.bedloc--stack .bedloc__bed[b-j0skcrh3us]::before { content: none; margin: 0; }

/* No telemóvel empilha sempre. Sem isto a pastilha partia onde o browser calhasse e ficava
   um borrão de cinco linhas dentro de um oval. */
@media (max-width: 640px) {
    .bedloc[b-j0skcrh3us] {
        display: inline-grid;
        grid-template-columns: auto 1fr;
        column-gap: .4rem;
        align-items: start;
        border-radius: var(--p360-radius-sm);
        padding: .28rem .55rem;
        line-height: 1.3;
    }

    .bedloc > i[b-j0skcrh3us] { grid-column: 1; grid-row: 1 / span 2; margin-top: .15rem; }
    .bedloc .bedloc__unit[b-j0skcrh3us] { grid-column: 2; grid-row: 1; }
    .bedloc .bedloc__bed[b-j0skcrh3us] { grid-column: 2; grid-row: 2; font-weight: 500; opacity: .85; }
    .bedloc .bedloc__bed[b-j0skcrh3us]::before { content: none; margin: 0; }
}
/* /Components/ConcelhoPicker.razor.rz.scp.css */
.conc[b-1z7k77s2lm] { position: relative; }

.conc__picked[b-1z7k77s2lm] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    padding: .4rem .55rem;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius-sm);
    background: var(--p360-background-2);
}

.conc__district[b-1z7k77s2lm] {
    font-size: .82rem;
    color: var(--p360-text-muted);
}

.conc__clear[b-1z7k77s2lm] {
    margin-left: auto;
    border: 0;
    background: none;
    cursor: pointer;
    color: var(--p360-text-muted);
    padding: .1rem .25rem;
    line-height: 1;
}

.conc__clear:hover[b-1z7k77s2lm] { color: var(--p360-danger); }

/* Sobreposta, e não a empurrar o formulário: a lista abre e fecha a cada letra escrita, e a
   empurrar os campos de baixo fazia o botão de guardar saltar debaixo do rato. */
.conc__suggest[b-1z7k77s2lm] {
    position: absolute;
    z-index: 20;
    left: 0;
    right: 0;
    margin-top: .2rem;
    max-height: 15rem;
    overflow-y: auto;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius-sm);
    background: var(--p360-surface);
    box-shadow: var(--p360-shadow-lg);
}

.conc__item[b-1z7k77s2lm] {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    text-align: left;
    padding: .4rem .55rem;
    border: 0;
    border-bottom: 1px solid var(--p360-border);
    background: none;
    cursor: pointer;
}

.conc__item:last-child[b-1z7k77s2lm] { border-bottom: 0; }
.conc__item:hover[b-1z7k77s2lm] { background: var(--p360-background-2); }
.conc__item .p360-badge[b-1z7k77s2lm] { margin-left: auto; }

.conc__hint[b-1z7k77s2lm],
.conc__legacy[b-1z7k77s2lm] {
    font-size: .78rem;
    color: var(--p360-text-muted);
    margin: .3rem 0 0;
}
/* /Components/ConfirmHost.razor.rz.scp.css */
.ch-modal[b-mrsnfznxot] { max-width: 420px; }
.ch-row[b-mrsnfznxot] { display: flex; gap: .75rem; align-items: flex-start; }
.ch-icon[b-mrsnfznxot] { font-size: 1.4rem; }
.ch-icon--danger[b-mrsnfznxot] { color: var(--p360-danger); }
.ch-icon--info[b-mrsnfznxot] { color: var(--p360-primary); }
.ch-message[b-mrsnfznxot] { margin: 0; }

/* Campo de motivo, quando a confirmação pede uma explicação (ex.: cancelar uma receita eletrónica).
   Fica alinhado com a mensagem e não com o ícone, para se ler como resposta à pergunta. */
.ch-input[b-mrsnfznxot] {
    margin-top: .75rem;
    width: 100%;
    resize: vertical;
    font-family: inherit;
}
/* /Components/FieldValue.razor.rz.scp.css */
.field-value__missing[b-yowdp4irnr] { color: var(--p360-text-muted); font-style: italic; }
/* /Components/HomeActivitiesCard.razor.rz.scp.css */
/* Estilos do bloco das atividades. Vinham da Home.razor.css e seguiram o bloco quando ele saiu
   para componente: o CSS scoped da página não alcança os filhos. */
.home-card-head[b-5xj4pfjnb8] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.home-link[b-5xj4pfjnb8] { font-size: .82rem; font-weight: 500; white-space: nowrap; }
.home-muted[b-5xj4pfjnb8] { color: var(--p360-text-muted); font-size: .85rem; margin: 0; }
.home-list[b-5xj4pfjnb8] { display: flex; flex-direction: column; gap: .5rem; }

/* Linha de atividade — chip com realce da cor da categoria à esquerda. */
.home-act[b-5xj4pfjnb8] {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .55rem .7rem;
    border: 1px solid var(--p360-border);
    border-left: 3px solid var(--p360-primary); /* cor real (categoria) vem inline */
    border-radius: var(--p360-radius-sm);
    background: var(--p360-surface);
}

.home-act__time[b-5xj4pfjnb8] {
    font-weight: 700;
    color: var(--p360-primary-700);
    background: var(--p360-primary-100);
    padding: .15rem .45rem;
    border-radius: var(--p360-radius-sm);
    min-width: 3rem;
    text-align: center;
    flex: none;
}

.home-act__body[b-5xj4pfjnb8] { flex: 1; min-width: 0; }
.home-act__title[b-5xj4pfjnb8] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-act__meta[b-5xj4pfjnb8] { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: .15rem; }
/* /Components/HomeBirthdaysCard.razor.rz.scp.css */
/* Estilos do bloco dos aniversários. Vinham da Home.razor.css e seguiram o bloco para componente. */
.home-card-hint[b-fgc0cpip2y] { font-weight: 400; color: var(--p360-text-muted); font-size: .8rem; }
.home-muted[b-fgc0cpip2y] { color: var(--p360-text-muted); font-size: .85rem; margin: 0; }
.home-list[b-fgc0cpip2y] { display: flex; flex-direction: column; gap: .5rem; }

/* Linha de aniversário — avatar + nome; destaque para quem faz anos hoje. */
.home-bday[b-fgc0cpip2y] {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem .7rem;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius-sm);
    background: var(--p360-surface);
}

.home-bday__body[b-fgc0cpip2y] { flex: 1; min-width: 0; }
.home-bday__name[b-fgc0cpip2y] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-bday__right[b-fgc0cpip2y] { display: flex; align-items: center; gap: .4rem; flex: none; }
.home-bday__open[b-fgc0cpip2y] { padding: .15rem .5rem; }
.home-bday--today[b-fgc0cpip2y] { background: var(--p360-success-bg); border-color: var(--p360-success); }
/* /Components/HomeBrandBar.razor.rz.scp.css */
/* Faixa da identidade: logótipo à esquerda, nome e mensagem ao lado. A barra dourada à esquerda
   assinala que é a casa a falar, e não um bloco de dados. */
.home-brand[b-sw3d9o7ure] {
    display: flex;
    align-items: center;
    gap: 1rem;
    border-left: 4px solid var(--p360-primary);
}

.home-brand__logo[b-sw3d9o7ure] {
    width: 64px;
    height: 64px;
    flex: none;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: var(--p360-radius-sm);
}

/* contain, e não cover: um logótipo cortado é pior do que um logótipo pequeno. */
.home-brand__logo img[b-sw3d9o7ure] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.home-brand__body[b-sw3d9o7ure] { min-width: 0; }
.home-brand__name[b-sw3d9o7ure] { font-weight: 700; font-size: 1.05rem; letter-spacing: .2px; }
.home-brand__msg[b-sw3d9o7ure] { margin: .15rem 0 0; color: var(--p360-text-muted); }

@media (max-width: 480px) {
    .home-brand__logo[b-sw3d9o7ure] { width: 48px; height: 48px; }
}
/* /Components/HomeNoticesCard.razor.rz.scp.css */
/* Cabeçalho do bloco, igual ao das Atividades (o CSS scoped da página não alcança os filhos). */
.home-card-head[b-mfjl8d32z1] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.home-link[b-mfjl8d32z1] { font-size: .82rem; font-weight: 500; white-space: nowrap; }
.home-muted[b-mfjl8d32z1] { color: var(--p360-text-muted); font-size: .85rem; margin: 0; }
/* /Components/NoticeRow.razor.rz.scp.css */
/* Linha do mural: miniatura à esquerda, texto ao lado. A miniatura é de 108 px de propósito — um
   cartaz a largura toda empurrava os outros avisos para fora do ecrã. */
.nrow[b-moiihmbihj] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    padding: .6rem 0;
}

.nrow + .nrow[b-moiihmbihj] { border-top: 1px solid var(--p360-border); }
.nrow--expired[b-moiihmbihj] { opacity: .62; }

.nrow__thumb[b-moiihmbihj] {
    width: 108px;
    aspect-ratio: 4 / 3;
    flex: none;
    padding: 0;
    overflow: hidden;
    cursor: zoom-in;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    background: #fff;
    display: grid;
    place-items: center;
}
.nrow__thumb:hover[b-moiihmbihj] { border-color: var(--p360-primary); }
.nrow__thumb:focus-visible[b-moiihmbihj] { outline: 2px solid var(--p360-primary); outline-offset: 2px; }
.nrow__thumb img[b-moiihmbihj] { width: 100%; height: 100%; object-fit: cover; display: block; }

.nrow__doc[b-moiihmbihj] { display: grid; place-items: center; gap: .2rem; color: #b91c1c; font-size: 1.6rem; }
.nrow__tag[b-moiihmbihj] {
    font-size: .6rem; font-weight: 700; letter-spacing: .04em;
    background: #fee2e2; color: #b91c1c; border-radius: 3px; padding: 0 .25rem;
}

.nrow__main[b-moiihmbihj] { min-width: 0; }
.nrow__top[b-moiihmbihj] { display: flex; gap: .45rem; align-items: center; flex-wrap: wrap; }
.nrow__pin[b-moiihmbihj] { color: var(--p360-primary-700); font-size: .8rem; }
.nrow__valid[b-moiihmbihj] { color: var(--p360-text-muted); font-size: .75rem; }
.nrow__aud[b-moiihmbihj] { color: var(--p360-text-muted); font-size: .75rem; }

.nrow__title[b-moiihmbihj] { font-weight: 600; margin-top: .15rem; }
/* pre-line: o texto é simples e as quebras de linha de quem escreveu contam. */
.nrow__body[b-moiihmbihj] { font-size: .88rem; margin-top: .1rem; white-space: pre-line; overflow-wrap: anywhere; }

.nrow__file[b-moiihmbihj] {
    display: inline-flex; gap: .35rem; align-items: center; max-width: 100%;
    margin-top: .35rem; padding: .1rem .5rem;
    font: inherit; font-size: .78rem;
    color: var(--p360-primary-700); background: var(--p360-primary-100);
    border: 1px solid transparent; border-radius: 999px; cursor: pointer;
}
.nrow__file:hover[b-moiihmbihj] { border-color: var(--p360-primary); }
.nrow__file-name[b-moiihmbihj] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }

.nrow__foot[b-moiihmbihj] {
    display: flex; gap: .7rem; align-items: center; flex-wrap: wrap;
    color: var(--p360-text-muted); font-size: .75rem; margin-top: .3rem;
}

@media (max-width: 420px) {
    .nrow__thumb[b-moiihmbihj] { width: 84px; }
}
/* /Components/PharmacyStateBadge.razor.rz.scp.css */
.pharm-badge[b-8pe42uen78] { font-size: .7rem; }
/* /Components/ScaleTrendChart.razor.rz.scp.css */
.stc[b-ez7ptu99fu] { width: 100%; height: auto; display: block; }

.stc-legend[b-ez7ptu99fu] { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: .85rem; justify-content: center; }
.stc-legend__item[b-ez7ptu99fu] { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; color: var(--p360-text); }
.stc-legend__swatch[b-ez7ptu99fu] { width: 14px; height: 14px; border-radius: 3px; display: inline-block; }
.stc-legend__range[b-ez7ptu99fu] { color: var(--p360-text-muted); }
/* /Components/ScaleTrendSparkline.razor.rz.scp.css */
.scale-spark[b-zcv2y13ad8] { overflow: visible; }
/* /Components/SessionGuardHost.razor.rz.scp.css */
.sg-modal[b-kbc9r73mh7] { max-width: 440px; }
.sg-head-icon[b-kbc9r73mh7] { margin-right: .35rem; }
.sg-row[b-kbc9r73mh7] { display: flex; gap: .75rem; align-items: flex-start; }
.sg-icon[b-kbc9r73mh7] { font-size: 1.4rem; color: var(--p360-danger); }
.sg-msg[b-kbc9r73mh7] { margin: 0; }
.sg-sub[b-kbc9r73mh7] { margin: .6rem 0 0; color: var(--p360-text-muted); font-size: .9rem; }
.sg-count[b-kbc9r73mh7] { font-variant-numeric: tabular-nums; }

/* O modal de sessão fica acima de qualquer outro overlay da app. */
.sg-backdrop[b-kbc9r73mh7] { z-index: 200; }
/* Estado terminal: clicar fora não fecha (sem handler de fecho), e impede interação com o fundo. */
.sg-backdrop--block[b-kbc9r73mh7] { background: rgba(0, 0, 0, .65); }
/* /Components/Sparkline.razor.rz.scp.css */
.sparkline[b-cdb4rbrkhu] { min-width: 150px; }
.sparkline__label[b-cdb4rbrkhu] { font-size: .78rem; color: var(--p360-text-muted); }
.sparkline__label strong[b-cdb4rbrkhu] { color: var(--p360-text); }
.sparkline__svg[b-cdb4rbrkhu] { overflow: visible; }
/* /Components/VitalTrendChart.razor.rz.scp.css */
.vtc[b-h2i3z1ylp3] { width: 100%; height: auto; display: block; }
.vtc__axis[b-h2i3z1ylp3] { font-size: 12px; fill: var(--p360-text-muted); }
.vtc__val[b-h2i3z1ylp3] { font-size: 11px; font-weight: 600; fill: var(--p360-text); }

.vtc-legend[b-h2i3z1ylp3] { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: .85rem; justify-content: center; }
.vtc-legend__item[b-h2i3z1ylp3] { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; color: var(--p360-text); }
.vtc-legend__swatch[b-h2i3z1ylp3] { width: 14px; height: 14px; border-radius: 3px; display: inline-block; }
.vtc-legend__range[b-h2i3z1ylp3] { color: var(--p360-text-muted); }
/* /Components/WoundBodyChart.razor.rz.scp.css */
.wbc-views[b-i50y2id3s8] {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: center;
}

.wbc-view[b-i50y2id3s8] {
    flex: 1 1 0;
    max-width: 250px;
    margin: 0;
    padding: .5rem;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    background: var(--p360-surface);
}

.wbc-view__label[b-i50y2id3s8] {
    font-size: .78rem;
    color: var(--p360-text-muted);
    text-align: center;
    margin-bottom: .25rem;
}

/* A caixa acompanha exatamente a imagem (que ocupa 100% da largura e mantém o rácio),
   por isso as coordenadas em % dos pontos assentam sempre sobre a anatomia certa. */
.wbc-canvas[b-i50y2id3s8] {
    position: relative;
    width: 100%;
}

.wbc-img[b-i50y2id3s8] {
    display: block;
    width: 100%;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
}

.wbc-noimg[b-i50y2id3s8] {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 5 / 12;
    color: var(--p360-text-muted);
    background: var(--p360-background);
    border-radius: var(--p360-radius);
}

/* Alvo de toque ≥40px (norma da Fase R) com o ponto visual pequeno lá dentro. */
.wbc-point[b-i50y2id3s8] {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wbc-point__dot[b-i50y2id3s8] {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--p360-surface);
    border: 2px solid var(--p360-primary);
    transition: transform .12s ease, background-color .12s ease;
}

.wbc-point:hover .wbc-point__dot[b-i50y2id3s8],
.wbc-point:focus-visible .wbc-point__dot[b-i50y2id3s8] {
    transform: scale(1.35);
}

.wbc-point--on .wbc-point__dot[b-i50y2id3s8] {
    background: var(--p360-primary);
    transform: scale(1.35);
    box-shadow: 0 0 0 4px var(--p360-primary-100);
}

.wbc-hint[b-i50y2id3s8] {
    font-size: .8rem;
    color: var(--p360-text-muted);
    margin: .25rem 0;
}

@media (max-width: 480px) {
    .wbc-view[b-i50y2id3s8] { max-width: none; }
}
/* /Layout/LoginDisplay.razor.rz.scp.css */
/* Ação compacta (botão Sair / link Entrar) no indicador de sessão do header.
   Substitui o style="padding:.25rem .6rem" repetido em ambos os elementos. */
.login-display__action[b-wosfre8oxb] {
    padding: .25rem .6rem;
}
/* /Layout/MainLayout.razor.rz.scp.css */
/* Estilos globais do shell em wwwroot/css/app.css */
/* /Pages/Admin/Acessos.razor.rz.scp.css */
/* Barra de ações acima de cada tabela (utilizadores / roles / matriz). */
.acessos-toolbar[b-4wb31obtck] {
    margin-bottom: .5rem;
}

/* ===== Vista "Por perfil" ===== */
.acc-perfil-head[b-4wb31obtck] { display: flex; align-items: flex-end; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.acc-perfil-role[b-4wb31obtck] { display: flex; flex-direction: column; gap: .25rem; }
.acc-perfil-role label[b-4wb31obtck] { font-size: .75rem; color: var(--p360-text-muted); }
.acc-perfil-role select[b-4wb31obtck] { min-width: 180px; }
.acc-perfil-sum[b-4wb31obtck] { font-size: .9rem; color: var(--p360-text); margin-right: auto; }
.acc-perfil-presets[b-4wb31obtck] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .5rem; }
.acc-perfil-presets span[b-4wb31obtck] { font-size: .8rem; color: var(--p360-text-muted); }

.acc-grp[b-4wb31obtck] { font-size: .72rem; color: var(--p360-text-muted); margin: 1.1rem .15rem .35rem; text-transform: uppercase; letter-spacing: .04em; }

/* Nota do grupo Backoffice: o que estas linhas dão, e quem as pode mexer (B.3.7). */
.acc-grp__hint[b-4wb31obtck] { font-size: .8rem; color: var(--p360-text-muted); margin: 0 .15rem .5rem; }
.acc-grp__hint--locked[b-4wb31obtck] { display: flex; align-items: center; gap: .4rem; }
.acc-list[b-4wb31obtck] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); overflow: hidden; }
.acc-row[b-4wb31obtck] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .8rem; border-bottom: 1px solid var(--p360-border); }
.acc-row:last-child[b-4wb31obtck] { border-bottom: none; }
.acc-row__lbl[b-4wb31obtck] { display: flex; align-items: center; gap: .6rem; font-size: .9rem; color: var(--p360-text); }
.acc-row__lbl i[b-4wb31obtck] { width: 1.1rem; text-align: center; color: var(--p360-text-muted); }

.acc-seg[b-4wb31obtck] { display: inline-flex; border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); overflow: hidden; flex: none; }
.acc-seg__btn[b-4wb31obtck] { font-size: .8rem; padding: .35rem .7rem; background: transparent; border: none; border-left: 1px solid var(--p360-border); color: var(--p360-text-muted); cursor: pointer; white-space: nowrap; }
.acc-seg__btn:first-child[b-4wb31obtck] { border-left: none; }
.acc-seg__btn:hover[b-4wb31obtck] { background: var(--p360-background); }
.acc-seg__btn.is-none[b-4wb31obtck] { background: var(--p360-background-2); color: var(--p360-text); }
.acc-seg__btn.is-view[b-4wb31obtck] { background: #e6f1fb; color: #185fa5; }
.acc-seg__btn.is-edit[b-4wb31obtck] { background: #eaf3de; color: #3b6d11; }

.acc-perfil-empty[b-4wb31obtck], .acc-perfil-note[b-4wb31obtck] { font-size: .85rem; color: var(--p360-text-muted); margin-top: 1rem; }
/* /Pages/Admin/Cid11.razor.rz.scp.css */
/* Backoffice da tabela CID-11 — resumo, filtros e grelha de edição. */

.cid-intro[b-h1q1fkmuqt] { margin-bottom: 1rem; }
.cid-lead[b-h1q1fkmuqt] { margin: -.25rem 0 .75rem; color: var(--p360-text-muted); font-size: .85rem; }
.cid-muted[b-h1q1fkmuqt] { color: var(--p360-text-muted); font-size: .85rem; }
.cid-mt[b-h1q1fkmuqt] { margin-top: .5rem; }

/* Resumo do estado da tabela. */
.cid-stats[b-h1q1fkmuqt] { display: flex; flex-wrap: wrap; gap: .5rem; }
.cid-stat[b-h1q1fkmuqt] { flex: 1; min-width: 110px; display: flex; flex-direction: column; gap: .1rem; padding: .5rem .7rem; border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); }
.cid-stat__n[b-h1q1fkmuqt] { font-size: 1.3rem; font-weight: 600; }
.cid-stat__l[b-h1q1fkmuqt] { font-size: .75rem; color: var(--p360-text-muted); }

/* Aviso de tabela por importar — instruções, não só o alerta. */
.cid-empty-warn[b-h1q1fkmuqt] { display: flex; gap: .6rem; margin-top: .75rem; padding: .7rem .8rem; border: 1px solid var(--p360-warning); border-radius: var(--p360-radius-sm); background: color-mix(in srgb, var(--p360-warning) 8%, transparent); font-size: .85rem; }
.cid-howto[b-h1q1fkmuqt] { margin-top: .5rem; display: flex; flex-direction: column; gap: .3rem; }
.cid-cmd[b-h1q1fkmuqt] { margin: .1rem 0; padding: .45rem .55rem; border-radius: var(--p360-radius-sm); background: var(--p360-bg); border: 1px solid var(--p360-border); font-size: .74rem; overflow-x: auto; white-space: pre; }

/* Filtros. */
.cid-filters[b-h1q1fkmuqt] { display: flex; gap: .5rem; flex-wrap: wrap; align-items: flex-end; margin-bottom: .7rem; }
.cid-filter-grow[b-h1q1fkmuqt] { flex: 1; min-width: 190px; }
.cid-search-btn[b-h1q1fkmuqt] { white-space: nowrap; }

.cid-truncated[b-h1q1fkmuqt] { font-size: .8rem; color: var(--p360-text-muted); margin: 0 0 .4rem; }
.cid-code[b-h1q1fkmuqt] { font-size: .82rem; }
.cid-code-input[b-h1q1fkmuqt] { padding: .25rem .4rem; font-size: .82rem; }
.cid-row-btn[b-h1q1fkmuqt] { padding: .15rem .4rem; }
.cid-row-btn--ok[b-h1q1fkmuqt] { color: var(--p360-primary); }
.cid-row-btn--del[b-h1q1fkmuqt] { color: var(--p360-danger); }
.cid-lock[b-h1q1fkmuqt] { font-size: .7rem; color: var(--p360-text-muted); padding-right: .5rem; }

.cid-modal[b-h1q1fkmuqt] { max-width: 520px; }

/* A grelha tem colunas a mais para um telemóvel: desliza em vez de esmagar a designação. */
@media (max-width: 720px) {
    .cid-filters[b-h1q1fkmuqt] { flex-direction: column; align-items: stretch; }
    .p360-table[b-h1q1fkmuqt] { display: block; overflow-x: auto; }
}
/* /Pages/Admin/Cuidados.razor.rz.scp.css */
.cu-intro[b-asqgowyu9q] { margin-bottom: 1rem; }
.cu-intro__text[b-asqgowyu9q] { margin: .35rem 0 0; color: var(--p360-text-muted, #6b7280); font-size: .9rem; }

.cu-muted[b-asqgowyu9q] { color: var(--p360-text-muted, #6b7280); font-size: .85rem; }

.cu-actions[b-asqgowyu9q] { margin-bottom: .75rem; }

.cu-warn[b-asqgowyu9q] {
    padding: .6rem .8rem;
    margin-bottom: .75rem;
    border: 1px solid var(--p360-warning, #d97706);
    border-radius: 8px;
    background: var(--p360-warning-bg, #fef3c7);
    color: #92400e;
    font-size: .85rem;
}
.cu-warn i[b-asqgowyu9q] { margin-right: .4rem; }

.cu-list[b-asqgowyu9q] { display: flex; flex-direction: column; gap: .4rem; }

.cu-item[b-asqgowyu9q] {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: .9rem;
    padding: .6rem .8rem;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 8px;
    background: var(--p360-surface, #fff);
}

.cu-item--off[b-asqgowyu9q] { background: var(--p360-background, #F3F4F6); }
.cu-item--off .cu-name[b-asqgowyu9q] { color: var(--p360-text-muted, #6b7280); }

.cu-ord[b-asqgowyu9q] { display: flex; flex-direction: column; gap: .15rem; }

.cu-ord__btn[b-asqgowyu9q] {
    width: 24px;
    height: 18px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 4px;
    background: var(--p360-surface, #fff);
    color: var(--p360-text-muted, #6b7280);
    cursor: pointer;
    font-size: .6rem;
}
.cu-ord__btn:disabled[b-asqgowyu9q] { opacity: .3; cursor: default; }
.cu-ord__btn:focus-visible[b-asqgowyu9q] { outline: 2px solid var(--p360-primary, #877D38); outline-offset: 1px; }

.cu-main[b-asqgowyu9q] { min-width: 0; }

.cu-name[b-asqgowyu9q] {
    font-weight: 600;
    font-size: .9rem;
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}
.cu-name__ico[b-asqgowyu9q] { color: var(--p360-primary, #877D38); width: 1rem; text-align: center; }

.cu-key[b-asqgowyu9q] {
    font-size: .72rem;
    font-weight: 400;
    background: var(--p360-background, #F3F4F6);
    color: var(--p360-text-muted, #6b7280);
    padding: .05rem .35rem;
    border-radius: 4px;
}

.cu-src[b-asqgowyu9q] { font-size: .75rem; color: var(--p360-text-muted, #6b7280); margin-top: .1rem; }

.cu-empty[b-asqgowyu9q] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .78rem;
    color: var(--p360-text-muted, #6b7280);
    white-space: nowrap;
    cursor: pointer;
}
.cu-empty input[b-asqgowyu9q] { accent-color: var(--p360-primary, #877D38); }

/* Interruptor: mesma linguagem do resto do backoffice, sem depender de biblioteca. */
.cu-switch[b-asqgowyu9q] {
    width: 40px;
    height: 22px;
    border: 0;
    border-radius: 999px;
    padding: 0;
    background: #cbd0d8;
    position: relative;
    cursor: pointer;
    flex: none;
}
.cu-switch[b-asqgowyu9q]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    transition: transform .14s;
}
.cu-switch--on[b-asqgowyu9q] { background: var(--p360-primary, #877D38); }
.cu-switch--on[b-asqgowyu9q]::after { transform: translateX(18px); }
.cu-switch:focus-visible[b-asqgowyu9q] { outline: 2px solid var(--p360-primary, #877D38); outline-offset: 2px; }

.cu-scale[b-asqgowyu9q] { margin-top: 1rem; }
.cu-scale__text[b-asqgowyu9q] { margin: .35rem 0 .6rem; }
.cu-scale__select[b-asqgowyu9q] { max-width: 340px; }

@media (prefers-reduced-motion: reduce) {
    .cu-switch[b-asqgowyu9q]::after { transition: none; }
}

@media (max-width: 640px) {
    .cu-item[b-asqgowyu9q] { grid-template-columns: auto 1fr auto; row-gap: .5rem; }
    .cu-empty[b-asqgowyu9q] { grid-column: 2 / 4; }
}
/* /Pages/Admin/Inicio.razor.rz.scp.css */
/* Ecrã inicial (F7.15). A linguagem visual é a do «Cuidados na Ficha»: mesma lista, mesmas setas de
   ordem, mesmo interruptor — dois ecrãs que fazem a mesma coisa (arrumar blocos) devem parecer-se. */
.in-intro[b-6vksoezf22] { margin-bottom: 1rem; }
.in-intro__text[b-6vksoezf22] { margin: .35rem 0 0; color: var(--p360-text-muted, #6b7280); font-size: .9rem; }
.in-intro__note[b-6vksoezf22] { color: var(--p360-text, #1f2937); }
.in-intro__note i[b-6vksoezf22] { color: var(--p360-primary, #877D38); margin-right: .3rem; }

.in-muted[b-6vksoezf22] { color: var(--p360-text-muted, #6b7280); font-size: .85rem; }

.in-actions[b-6vksoezf22] { margin-bottom: .75rem; gap: .5rem; flex-wrap: wrap; }
.in-actions__btns[b-6vksoezf22] { display: flex; gap: .5rem; flex-wrap: wrap; }

.in-warn[b-6vksoezf22] {
    padding: .6rem .8rem;
    margin-bottom: .75rem;
    border: 1px solid var(--p360-warning, #d97706);
    border-radius: 8px;
    background: var(--p360-warning-bg, #fef3c7);
    color: #92400e;
    font-size: .85rem;
}
.in-warn i[b-6vksoezf22] { margin-right: .4rem; }

/* Ecrã sem blocos não é conselho, é defeito à espera de acontecer: cor própria. */
.in-warn--danger[b-6vksoezf22] {
    border-color: var(--p360-danger, #dc2626);
    background: var(--p360-danger-bg, #fee2e2);
    color: #991b1b;
}

.in-list[b-6vksoezf22] { display: flex; flex-direction: column; gap: .4rem; }

.in-item[b-6vksoezf22] {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    align-items: center;
    gap: .9rem;
    padding: .6rem .8rem;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 8px;
    background: var(--p360-surface, #fff);
}

.in-item--off[b-6vksoezf22] { background: var(--p360-background, #F3F4F6); }
.in-item--off .in-name[b-6vksoezf22] { color: var(--p360-text-muted, #6b7280); }

.in-ord[b-6vksoezf22] { display: flex; flex-direction: column; gap: .15rem; }

.in-ord__btn[b-6vksoezf22] {
    width: 24px;
    height: 18px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 4px;
    background: var(--p360-surface, #fff);
    color: var(--p360-text-muted, #6b7280);
    cursor: pointer;
    font-size: .6rem;
}
.in-ord__btn:disabled[b-6vksoezf22] { opacity: .3; cursor: default; }
.in-ord__btn:focus-visible[b-6vksoezf22] { outline: 2px solid var(--p360-primary, #877D38); outline-offset: 1px; }

.in-main[b-6vksoezf22] { min-width: 0; }

.in-name[b-6vksoezf22] {
    font-weight: 600;
    font-size: .9rem;
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}
.in-name__ico[b-6vksoezf22] { color: var(--p360-primary, #877D38); width: 1rem; text-align: center; }

.in-key[b-6vksoezf22] {
    font-size: .72rem;
    font-weight: 400;
    background: var(--p360-background, #F3F4F6);
    color: var(--p360-text-muted, #6b7280);
    padding: .05rem .35rem;
    border-radius: 4px;
}

.in-src[b-6vksoezf22] { font-size: .75rem; color: var(--p360-text-muted, #6b7280); margin-top: .1rem; }

.in-fixed[b-6vksoezf22] { font-size: .7rem; white-space: nowrap; }

/* Largura: duas posições, e só duas — ver HomeWidgetWidth. */
.in-seg[b-6vksoezf22] { display: inline-flex; border: 1px solid var(--p360-border, #e5e7eb); border-radius: 6px; overflow: hidden; }

.in-seg__btn[b-6vksoezf22] {
    border: 0;
    background: var(--p360-surface, #fff);
    color: var(--p360-text-muted, #6b7280);
    font: inherit;
    font-size: .76rem;
    padding: .2rem .55rem;
    cursor: pointer;
}
.in-seg__btn--on[b-6vksoezf22] { background: var(--p360-primary-100, #ece9da); color: var(--p360-primary-700, #5f5827); font-weight: 600; }
.in-seg__btn:disabled[b-6vksoezf22] { cursor: default; opacity: .55; }
.in-seg__btn:focus-visible[b-6vksoezf22] { outline: 2px solid var(--p360-primary, #877D38); outline-offset: -2px; }

/* Interruptor: igual ao do «Cuidados na Ficha». */
.in-switch[b-6vksoezf22] {
    width: 40px;
    height: 22px;
    border: 0;
    border-radius: 999px;
    padding: 0;
    background: #cbd0d8;
    position: relative;
    cursor: pointer;
    flex: none;
}
.in-switch[b-6vksoezf22]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    transition: transform .14s;
}
.in-switch--on[b-6vksoezf22] { background: var(--p360-primary, #877D38); }
.in-switch--on[b-6vksoezf22]::after { transform: translateX(18px); }
.in-switch:focus-visible[b-6vksoezf22] { outline: 2px solid var(--p360-primary, #877D38); outline-offset: 2px; }

/* ---- Identidade da casa ---- */
.in-brand[b-6vksoezf22] { margin-top: 1rem; }
.in-brand__text[b-6vksoezf22] { margin: .35rem 0 .8rem; }
.in-brand__off[b-6vksoezf22] { display: block; margin-top: .25rem; color: #92400e; }
.in-brand__off i[b-6vksoezf22] { margin-right: .3rem; }

.in-brand__grid[b-6vksoezf22] { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .8rem; }

.in-logo[b-6vksoezf22] { display: flex; gap: 1rem; align-items: flex-start; margin-top: .9rem; flex-wrap: wrap; }

.in-logo__box[b-6vksoezf22] {
    width: 96px;
    height: 96px;
    flex: none;
    display: grid;
    place-items: center;
    border: 1px dashed var(--p360-border, #e5e7eb);
    border-radius: 8px;
    background: var(--p360-background, #F3F4F6);
    overflow: hidden;
}
.in-logo__box img[b-6vksoezf22] { max-width: 100%; max-height: 100%; object-fit: contain; }
.in-logo__none[b-6vksoezf22] { color: var(--p360-text-muted, #6b7280); font-size: 1.5rem; }

.in-logo__side[b-6vksoezf22] { flex: 1; min-width: 240px; }
.in-logo__acts[b-6vksoezf22] { display: flex; gap: .5rem; flex-wrap: wrap; }
.in-logo__hint[b-6vksoezf22] { margin: .45rem 0 .6rem; }

/* O InputFile real fica escondido dentro do botão (mesmo padrão do upload da foto do cliente). */
.in-logo__pick[b-6vksoezf22] { position: relative; overflow: hidden; cursor: pointer; }
.in-logo__pick[b-6vksoezf22]  input[type="file"] { display: none; }

.in-logo__remove[b-6vksoezf22] { color: var(--p360-danger, #dc2626); }

.in-check[b-6vksoezf22] { display: flex; gap: .45rem; align-items: flex-start; font-size: .85rem; }
.in-check input[b-6vksoezf22] { accent-color: var(--p360-primary, #877D38); margin-top: .2rem; }

.in-preview[b-6vksoezf22] { margin-top: 1rem; }
.in-preview__cap[b-6vksoezf22] { font-size: .75rem; color: var(--p360-text-muted, #6b7280); margin-bottom: .35rem; }

/* Nota de regra dentro de um cartão (o mural não é registo clínico). */
.in-note[b-6vksoezf22] {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    margin-top: .9rem;
    padding: .6rem .75rem;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-left: 3px solid var(--p360-danger, #dc2626);
    border-radius: 8px;
    background: var(--p360-background, #F3F4F6);
    font-size: .82rem;
}
.in-note i[b-6vksoezf22] { color: var(--p360-danger, #dc2626); margin-top: .15rem; }

@media (prefers-reduced-motion: reduce) {
    .in-switch[b-6vksoezf22]::after { transition: none; }
}

@media (max-width: 640px) {
    .in-item[b-6vksoezf22] { grid-template-columns: auto 1fr auto; row-gap: .5rem; }
    .in-seg[b-6vksoezf22] { grid-column: 2 / 4; justify-self: start; }
}
/* /Pages/Admin/MapaCorporal.razor.rz.scp.css */
.mc-intro[b-m4x7bpdge2] {
    color: var(--p360-text-muted);
    font-size: .85rem;
    margin: -.25rem 0 1rem;
}

.mc-grid[b-m4x7bpdge2] {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr) 280px;
    gap: 1rem;
    align-items: start;
}

.mc-side[b-m4x7bpdge2] { min-width: 0; }

.mc-muted[b-m4x7bpdge2] { color: var(--p360-text-muted); font-size: .85rem; }

.mc-hint[b-m4x7bpdge2] {
    color: var(--p360-text-muted);
    font-size: .78rem;
    margin: -.2rem 0 .5rem;
}

.mc-sep[b-m4x7bpdge2] {
    border-top: 1px solid var(--p360-border);
    margin: .75rem 0 .6rem;
}

.mc-mt[b-m4x7bpdge2] { margin-top: .6rem; }
.mc-block[b-m4x7bpdge2] { width: 100%; justify-content: center; }
.mc-danger[b-m4x7bpdge2] { color: var(--p360-danger); }

/* ---- lista de vistas ---- */
.mc-viewrow[b-m4x7bpdge2] {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .4rem;
    border-radius: var(--p360-radius);
    cursor: pointer;
    font-size: .85rem;
}

.mc-viewrow:hover[b-m4x7bpdge2] { background: var(--p360-background); }
.mc-viewrow.active[b-m4x7bpdge2] { background: var(--p360-primary-100); font-weight: 600; }
.mc-viewrow__label[b-m4x7bpdge2] { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- tela ---- */
.mc-canvas-card[b-m4x7bpdge2] { min-width: 0; }
.mc-addbtn[b-m4x7bpdge2] { margin-left: auto; }

.mc-stage[b-m4x7bpdge2] {
    display: flex;
    justify-content: center;
    background: var(--p360-background);
    border-radius: var(--p360-radius);
    padding: 1rem;
}

/* A caixa acompanha exatamente a imagem, por isso as coordenadas em % assentam sobre a anatomia.
   touch-action: none — sem isto o dedo faz scroll da página em vez de arrastar o ponto (Fase R). */
.mc-canvas[b-m4x7bpdge2] {
    position: relative;
    width: 100%;
    max-width: 320px;
    touch-action: none;
    user-select: none;
}

.mc-canvas--adding[b-m4x7bpdge2] { cursor: crosshair; }

.mc-img[b-m4x7bpdge2] {
    display: block;
    width: 100%;
    height: auto;
    -webkit-user-drag: none;
}

.mc-noimg[b-m4x7bpdge2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    aspect-ratio: 5 / 11;
    color: var(--p360-text-muted);
    font-size: .8rem;
    text-align: center;
    background: var(--p360-surface);
    border: 1px dashed var(--p360-border);
    border-radius: var(--p360-radius);
}

.mc-point[b-m4x7bpdge2] {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 50%;
    cursor: grab;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mc-point:active[b-m4x7bpdge2] { cursor: grabbing; }

.mc-point__dot[b-m4x7bpdge2] {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--p360-surface);
    border: 2px solid var(--p360-primary);
    box-shadow: 0 1px 3px rgb(0 0 0 / .25);
    transition: transform .12s ease;
}

.mc-point:hover .mc-point__dot[b-m4x7bpdge2] { transform: scale(1.25); }

.mc-point--sel .mc-point__dot[b-m4x7bpdge2] {
    background: var(--p360-primary);
    transform: scale(1.35);
    box-shadow: 0 0 0 4px var(--p360-primary-100);
}

.mc-point--off .mc-point__dot[b-m4x7bpdge2] {
    border-color: var(--p360-text-muted);
    border-style: dashed;
    background: var(--p360-background);
}

/* ---- editor do ponto ---- */
.mc-coords[b-m4x7bpdge2] {
    display: flex;
    gap: .75rem;
    font-size: .8rem;
    color: var(--p360-text-muted);
    margin-bottom: .35rem;
}

.mc-nudge[b-m4x7bpdge2] { display: flex; gap: .25rem; }

.mc-ptlist[b-m4x7bpdge2] {
    display: flex;
    flex-direction: column;
    max-height: 240px;
    overflow-y: auto;
}

.mc-ptlist__item[b-m4x7bpdge2] {
    display: flex;
    align-items: center;
    gap: .4rem;
    padding: .3rem .4rem;
    border: 0;
    background: transparent;
    border-radius: var(--p360-radius);
    font-size: .82rem;
    text-align: left;
    cursor: pointer;
    color: var(--p360-text);
}

.mc-ptlist__item:hover[b-m4x7bpdge2] { background: var(--p360-background); }
.mc-ptlist__item.active[b-m4x7bpdge2] { background: var(--p360-primary-100); font-weight: 600; }
.mc-ptlist__item .mc-off[b-m4x7bpdge2] { color: var(--p360-text-muted); opacity: .6; }

/* ---- rodapé ----
   Fixo no fundo do ecrã: a tela é alta e, sem isto, o botão Guardar ficava abaixo da dobra. */
.mc-footer[b-m4x7bpdge2] {
    position: sticky;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: 1rem;
    padding: .6rem 0;
    background: var(--p360-background);
    border-top: 1px solid var(--p360-border);
}

.mc-imgactions[b-m4x7bpdge2] { display: flex; flex-wrap: wrap; gap: .35rem; }

@media (max-width: 1100px) {
    .mc-grid[b-m4x7bpdge2] { grid-template-columns: 1fr; }
    .mc-canvas[b-m4x7bpdge2] { max-width: 280px; }
}
/* /Pages/Admin/MenuPrincipal.razor.rz.scp.css */
/* Ecrã «Menu principal» do backoffice (F7.9). */

.mp-intro[b-j7w2hkcbt9] { margin-bottom: 1rem; border-left: 4px solid var(--p360-primary); }
.mp-intro__text[b-j7w2hkcbt9] { margin: 0 0 .4rem; color: var(--p360-text-muted); font-size: .9rem; }
.mp-intro__text:last-child[b-j7w2hkcbt9] { margin-bottom: 0; }
.mp-muted[b-j7w2hkcbt9] { color: var(--p360-text-muted); font-size: .85rem; }

.mp-actions[b-j7w2hkcbt9] { margin-bottom: 1rem; gap: .75rem; flex-wrap: wrap; }
.mp-actions__btns[b-j7w2hkcbt9] { display: flex; gap: .5rem; flex-wrap: wrap; }

/* ---- Pré-visualização da barra ---- */
.mp-preview[b-j7w2hkcbt9] { margin-bottom: .75rem; padding: 0; overflow: hidden; }
.mp-preview__label[b-j7w2hkcbt9] {
    display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap;
    padding: .5rem .8rem; border-bottom: 1px solid var(--p360-border);
    font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
    color: var(--p360-text-muted); font-weight: 600;
}
.mp-preview__bar[b-j7w2hkcbt9] {
    display: flex; align-items: center; flex-wrap: wrap; gap: .15rem;
    padding: .35rem .5rem; background: var(--p360-surface); min-height: 46px;
}
.mp-preview__bar--inline[b-j7w2hkcbt9] { flex-wrap: nowrap; overflow-x: auto; }
.mp-preview__item[b-j7w2hkcbt9] {
    display: inline-flex; align-items: center; gap: .45rem;
    padding: .5rem .85rem; font-size: .9rem; color: var(--p360-text-muted); white-space: nowrap;
}
.mp-preview__item i[b-j7w2hkcbt9] { width: 1.1em; text-align: center; }
.mp-preview__chevron[b-j7w2hkcbt9] { font-size: .7rem; opacity: .7; width: auto; }

/* ---- Parâmetros ---- */
.mp-param[b-j7w2hkcbt9] { margin-bottom: .75rem; }
.mp-param__row[b-j7w2hkcbt9] {
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
    padding-top: .5rem;
}
.mp-param__row--top[b-j7w2hkcbt9] { align-items: flex-start; border-top: 1px solid var(--p360-border); margin-top: .75rem; }
.mp-param__text[b-j7w2hkcbt9] { flex: 1; min-width: 240px; margin: 0; }
.mp-param__strong[b-j7w2hkcbt9] { display: block; color: var(--p360-text); font-size: .9rem; }
.mp-param__select[b-j7w2hkcbt9] { max-width: 340px; width: auto; }
.mp-param__check[b-j7w2hkcbt9] { white-space: nowrap; }
.mp-param__revert[b-j7w2hkcbt9] {
    display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
    margin-top: .75rem; padding-top: .6rem; border-top: 1px solid var(--p360-border);
}

/* ---- Grupos e entradas ---- */
.mp-group[b-j7w2hkcbt9] { margin-bottom: .75rem; }
.mp-group__head[b-j7w2hkcbt9] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.mp-group__icon[b-j7w2hkcbt9] { width: auto; max-width: 150px; }
.mp-group__label[b-j7w2hkcbt9] { max-width: 230px; font-weight: 600; }
.mp-group__vis[b-j7w2hkcbt9] { white-space: nowrap; }
.mp-group__state[b-j7w2hkcbt9] { margin-left: auto; }
.mp-group__ord[b-j7w2hkcbt9] { display: flex; gap: .25rem; }

.mp-iconbtn[b-j7w2hkcbt9] {
    width: 30px; height: 30px; flex: none;
    border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm);
    background: var(--p360-surface); color: var(--p360-text-muted); cursor: pointer;
}
.mp-iconbtn:hover:not(:disabled)[b-j7w2hkcbt9] { background: var(--p360-background); color: var(--p360-primary-700); }
.mp-iconbtn:disabled[b-j7w2hkcbt9] { opacity: .35; cursor: default; }

.mp-items[b-j7w2hkcbt9] { margin-top: .6rem; border-top: 1px solid var(--p360-border); }
.mp-item[b-j7w2hkcbt9] {
    display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
    padding: .5rem 0; border-bottom: 1px solid var(--p360-border);
}
.mp-item:last-child[b-j7w2hkcbt9] { border-bottom: none; }
.mp-item--off[b-j7w2hkcbt9] { opacity: .55; }
.mp-item__ico[b-j7w2hkcbt9] { width: 1.2em; text-align: center; color: var(--p360-text-muted); flex: none; }
.mp-item__label[b-j7w2hkcbt9] { max-width: 220px; }
.mp-item__name[b-j7w2hkcbt9] { font-size: .9rem; min-width: 140px; }
.mp-item__dest[b-j7w2hkcbt9] { font-size: .78rem; color: var(--p360-text-muted); display: inline-flex; align-items: center; gap: .3rem; }
.mp-item__dest code[b-j7w2hkcbt9] { background: var(--p360-background); padding: .05rem .35rem; border-radius: 3px; color: var(--p360-text); }
.mp-item__acts[b-j7w2hkcbt9] { display: flex; align-items: center; gap: .3rem; margin-left: auto; flex-wrap: wrap; }
.mp-item__move[b-j7w2hkcbt9] { width: auto; max-width: 170px; font-size: .82rem; }

.mp-empty[b-j7w2hkcbt9] { color: var(--p360-text-muted); font-size: .85rem; margin: .6rem 0 0; }
.mp-addgroup[b-j7w2hkcbt9] { margin: .25rem 0 1rem; }
.mp-outside[b-j7w2hkcbt9] { border-style: dashed; }
.mp-outside__text[b-j7w2hkcbt9] { margin: 0 0 .5rem; }

@media (max-width: 640px) {
    .mp-group__state[b-j7w2hkcbt9] { margin-left: 0; }
    .mp-item__acts[b-j7w2hkcbt9] { margin-left: 0; width: 100%; }
    .mp-group__label[b-j7w2hkcbt9], .mp-item__label[b-j7w2hkcbt9] { max-width: none; flex: 1; }
}

/* ---- Escolhedor de ícone do grupo ----
   Uma lista de nomes obrigava a adivinhar («Frasco»? «Registo»?), e o que vai para a barra é o
   desenho. Um <select> não serve: as <option> não desenham glifos de forma fiável. */
.mp-iconpick[b-j7w2hkcbt9] { position: relative; flex: none; }
.mp-iconpick__btn[b-j7w2hkcbt9] {
    display: inline-flex; align-items: center; gap: .4rem; min-width: 74px; height: 38px;
    padding: 0 .5rem; cursor: pointer;
    border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm);
    background: var(--p360-surface); color: var(--p360-text); font: inherit; font-size: 1rem;
}
.mp-iconpick__btn:hover:not(:disabled)[b-j7w2hkcbt9] { border-color: var(--p360-primary); }
.mp-iconpick__btn:disabled[b-j7w2hkcbt9] { opacity: .6; cursor: default; }
.mp-iconpick__none[b-j7w2hkcbt9] { font-size: .78rem; color: var(--p360-text-muted); }
.mp-iconpick__chev[b-j7w2hkcbt9] { font-size: .65rem; color: var(--p360-text-muted); margin-left: auto; }
/* Apanha o clique fora. Abaixo da grelha e acima do resto do ecrã. */
.mp-iconpick__catch[b-j7w2hkcbt9] { position: fixed; inset: 0; z-index: 40; }
.mp-iconpick__grid[b-j7w2hkcbt9] {
    position: absolute; top: calc(100% + .25rem); left: 0; z-index: 41;
    display: grid; grid-template-columns: repeat(5, 1fr); gap: .2rem;
    width: 330px; padding: .4rem;
    background: var(--p360-surface); border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius); box-shadow: var(--p360-shadow-lg);
}
.mp-iconpick__cell[b-j7w2hkcbt9] {
    display: flex; flex-direction: column; align-items: center; gap: .15rem;
    padding: .4rem .2rem; cursor: pointer;
    border: 1px solid transparent; border-radius: var(--p360-radius-sm);
    background: transparent; color: var(--p360-text); font: inherit;
}
.mp-iconpick__cell i[b-j7w2hkcbt9] { font-size: 1.05rem; }
.mp-iconpick__cell span[b-j7w2hkcbt9] { font-size: .62rem; color: var(--p360-text-muted); line-height: 1.1; text-align: center; }
.mp-iconpick__cell:hover[b-j7w2hkcbt9] { background: var(--p360-background); border-color: var(--p360-border); }
.mp-iconpick__cell--on[b-j7w2hkcbt9] { background: var(--p360-primary-100); border-color: var(--p360-primary); color: var(--p360-primary-700); }
.mp-iconpick__cell--on span[b-j7w2hkcbt9] { color: var(--p360-primary-700); }
.mp-iconpick__cell--none[b-j7w2hkcbt9] { grid-column: 1 / -1; flex-direction: row; gap: .4rem; justify-content: center; }
.mp-iconpick__cell--none span[b-j7w2hkcbt9] { font-size: .75rem; }

@media (max-width: 640px) {
    .mp-iconpick__grid[b-j7w2hkcbt9] { grid-template-columns: repeat(4, 1fr); width: min(300px, 88vw); }
}

/* Entradas que só existem dentro da ficha de uma pessoa (F7.14). */
.mp-needs[b-j7w2hkcbt9] {
    font-size: .68rem; font-weight: 700; white-space: nowrap;
    padding: 2px 8px; border-radius: 999px;
    background: var(--p360-info-bg); color: #1e3a8a;
}
/* /Pages/Admin/Parametros.razor.rz.scp.css */
.vsp-grid[b-ts3hahp84e] { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .6rem; margin-top: .5rem; }
.vsp-active[b-ts3hahp84e] { grid-column: 1 / -1; }
.vsp-active label[b-ts3hahp84e] { display: inline-flex; align-items: center; gap: .4rem; }

/* Linha de parâmetro clicável */
.param-row[b-ts3hahp84e] { gap: .5rem; }
.param-row__chevron[b-ts3hahp84e] { font-size: .72rem; color: var(--p360-text-muted); opacity: .5; transition: transform .15s, opacity .15s; }
.param-row:hover .param-row__chevron[b-ts3hahp84e] { opacity: 1; transform: translateX(2px); }
.param-row.active .param-row__chevron[b-ts3hahp84e] { color: var(--p360-primary); opacity: 1; }

/* Estado vazio do editor */
.param-empty[b-ts3hahp84e] { display: flex; align-items: center; gap: .75rem; color: var(--p360-text-muted); padding: 1.5rem .5rem; }
.param-empty i[b-ts3hahp84e] { font-size: 1.4rem; color: var(--p360-primary); flex: none; }
.param-empty p[b-ts3hahp84e] { margin: 0; font-size: .9rem; line-height: 1.4; }
/* /Pages/Atividades/ActivityCreateModal.razor.rz.scp.css */
/* ===== Modal de criar atividade — estilos com escopo =====
   Só o que é exclusivo deste modal. As peças partilhadas com a página da Agenda e com os campos de
   recorrência (.atv-body, .atv-section, .atv-section__t, .atv-check, .atv-link, .atv-chip) vivem no
   app.css: o CSS com escopo do Blazor não atravessa componentes. */

/* Avisos */
.atv-alert[b-ayb5kyr93m] { font-size:.8rem; border-radius:.5rem; padding:.5rem .6rem; margin:.2rem 0 }
.atv-alert--warn[b-ayb5kyr93m] { background:#fffbeb; border:1px solid #fde68a; color:#92400e }

/* Selo do tipo de atividade da atividade escolhida */
.atv-catbadge[b-ayb5kyr93m] { display:inline-block; font-size:.66rem; border:1px solid; border-radius:1rem; padding:.05rem .45rem; font-weight:600 }

/* Lotação inline ao lado do título dos participantes */
.atv-cap[b-ayb5kyr93m] { font-size:.72rem; font-weight:600; padding:.1rem .5rem; border-radius:1rem; background:#f1f5f9; color:#475569; text-transform:none; letter-spacing:0 }
.atv-cap--over[b-ayb5kyr93m] { background:#fee2e2; color:#b91c1c }

/* Picker de participantes — chips dos selecionados */
.atv-chips[b-ayb5kyr93m] { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.4rem }
.atv-pchip[b-ayb5kyr93m] { display:inline-flex; align-items:center; gap:.35rem; padding:.15rem .35rem .15rem .15rem; border:1px solid var(--p360-border,#e5e7eb); border-radius:1rem; background:#fff; font-size:.78rem }
.atv-pchip button[b-ayb5kyr93m] { background:none; border:none; cursor:pointer; color:var(--p360-text-muted,#6b7280); font-size:.95rem; line-height:1; padding:0 .15rem }
.atv-pchip button:hover[b-ayb5kyr93m] { color:var(--p360-danger,#dc2626) }

/* Picker de participantes — lista com scroll */
.atv-partlist[b-ayb5kyr93m] { max-height:170px; overflow:auto; border:1px solid var(--p360-border,#e5e7eb); border-radius:.5rem; padding:.35rem .5rem; margin-top:.3rem }
.atv-poption[b-ayb5kyr93m] { display:flex; align-items:center; gap:.5rem; padding:.25rem .3rem; border-radius:.45rem; cursor:pointer }
.atv-poption:hover[b-ayb5kyr93m] { background:var(--p360-background,#f3f4f6) }
.atv-poption__txt[b-ayb5kyr93m] { display:flex; flex-direction:column; min-width:0 }
.atv-poption__name[b-ayb5kyr93m] { font-size:.86rem; font-weight:500 }
.atv-poption__sub[b-ayb5kyr93m] { font-size:.72rem; color:var(--p360-text-muted,#6b7280) }

/* Residente ausente no dia escolhido (módulo Saídas): assinalado, mas continua selecionável. */
.atv-away[b-ayb5kyr93m] { display:inline-flex; align-items:center; gap:.2rem; margin-left:.35rem; font-size:.66rem; font-weight:600; padding:.05rem .4rem; border-radius:1rem; background:#fef3c7; color:#92400e }
.atv-pchip--away[b-ayb5kyr93m] { border-color:#fbbf24; background:#fffbeb }

/* Caixa da recorrência */
.atv-rec[b-ayb5kyr93m] { border:1px solid var(--p360-border,#e5e7eb); border-radius:.6rem; padding:.6rem; background:var(--p360-background,#f9fafb) }
/* /Pages/Atividades/Atividades.razor.rz.scp.css */
/* ===== Agenda (página) — estilos com escopo =====
   Só o que é exclusivo desta página. O modal de criar atividade tem o seu próprio .razor.css e as
   peças partilhadas pelos dois estão no app.css (o CSS com escopo não atravessa componentes). */

/* KPIs */
.atv-kpis[b-ojlppi41gd] { display:grid; grid-template-columns:repeat(5,1fr); gap:.6rem; margin-bottom:.8rem }
.atv-kpi[b-ojlppi41gd] { background:#fff; border:1px solid var(--p360-border,#e5e7eb); border-radius:.7rem; padding:.55rem .7rem; display:flex; flex-direction:column }
.atv-kpi__n[b-ojlppi41gd] { font-size:1.35rem; font-weight:700; line-height:1 }
.atv-kpi__l[b-ojlppi41gd] { font-size:.72rem; color:var(--p360-text-muted,#6b7280); margin-top:.15rem }

/* Layout 2 colunas */
.atv-grid[b-ojlppi41gd] { display:grid; grid-template-columns:240px 1fr; gap:.9rem; align-items:start }
@media (max-width:900px) { .atv-grid[b-ojlppi41gd] { grid-template-columns:1fr } .atv-kpis[b-ojlppi41gd] { grid-template-columns:repeat(2,1fr) } }
/* Telemóvel: esconder o resumo (KPIs) para dar espaço ao calendário — o foco aí é a agenda. */
@media (max-width:640px) { .atv-kpis[b-ojlppi41gd] { display:none } }

/* Filtros */
.atv-filters[b-ojlppi41gd] { padding:0; overflow:hidden; align-self:start }
.atv-filters__head[b-ojlppi41gd] { display:flex; justify-content:space-between; align-items:center; padding:.6rem .75rem; border-bottom:1px solid var(--p360-border,#e5e7eb) }
.atv-fgroup[b-ojlppi41gd] { padding:.6rem .75rem; border-bottom:1px solid var(--p360-border,#e5e7eb) }
.atv-flabel[b-ojlppi41gd] { display:block; font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.03em; color:var(--p360-text-muted,#6b7280); margin-bottom:.25rem }
.atv-dot[b-ojlppi41gd] { width:.7rem; height:.7rem; border-radius:50%; display:inline-block }

/* Calendário */
.atv-cal[b-ojlppi41gd] { min-height:560px }

/* Lista por dia */
.atv-dayhdr[b-ojlppi41gd] { font-size:.82rem; font-weight:700; color:var(--p360-text-muted,#6b7280); text-transform:capitalize; padding:.5rem .2rem .3rem; position:sticky; top:0; background:#fff }
.atv-item[b-ojlppi41gd] { display:flex; align-items:center; gap:.6rem; padding:.5rem .4rem; border-radius:.55rem; cursor:pointer; border:1px solid transparent }
.atv-item:hover[b-ojlppi41gd] { background:var(--p360-background,#f3f4f6); border-color:var(--p360-border,#e5e7eb) }
.atv-item--off[b-ojlppi41gd] { opacity:.55 }
.atv-item__time[b-ojlppi41gd] { display:flex; flex-direction:column; align-items:center; min-width:50px }
.atv-item__h[b-ojlppi41gd] { font-weight:700; font-size:.92rem }
.atv-item__dur[b-ojlppi41gd] { font-size:.68rem; color:var(--p360-text-muted,#6b7280) }
.atv-item__bar[b-ojlppi41gd] { width:4px; align-self:stretch; border-radius:3px }
.atv-item__meta[b-ojlppi41gd] { display:flex; gap:.7rem; flex-wrap:wrap; font-size:.76rem; color:var(--p360-text-muted,#6b7280); margin-top:.15rem }
.atv-status[b-ojlppi41gd] { font-size:.72rem; font-weight:600; padding:.2rem .55rem; border-radius:1rem; white-space:nowrap }
.atv-status--scheduled[b-ojlppi41gd] { background:#f1f5f9; color:#475569 }
.atv-status--done[b-ojlppi41gd] { background:#dcfce7; color:#15803d }
.atv-status--cancelled[b-ojlppi41gd] { background:#fee2e2; color:#b91c1c }

/* Parametrização */
.atv-paramhead[b-ojlppi41gd] { display:flex; justify-content:space-between; align-items:center; margin:1rem 0 .6rem }
.atv-paramhead h2[b-ojlppi41gd] { margin:0; font-size:1.1rem }

/* Modal de gerir atividade — âmbito da série, estado e linhas de presença */
.atv-radio[b-ojlppi41gd] { display:flex; align-items:center; gap:.4rem; border:1px solid var(--p360-border,#e5e7eb); border-radius:.5rem; padding:.35rem .6rem; font-size:.85rem; cursor:pointer }
.atv-radio--on[b-ojlppi41gd] { border-color:var(--p360-primary); background:var(--p360-primary-100) }
.atv-attrow[b-ojlppi41gd] { display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; padding:.35rem 0; border-top:1px solid var(--p360-border,#f1f5f9) }
.atv-attrow__name[b-ojlppi41gd] { flex:1; min-width:110px; font-weight:500; font-size:.86rem }
.atv-attrow__sel[b-ojlppi41gd] { width:auto; min-width:130px }

/* Presenças — botões segmentados */
.atv-attseg[b-ojlppi41gd] { display:inline-flex; border:1px solid var(--p360-border,#e5e7eb); border-radius:.5rem; overflow:hidden }
.atv-attseg__btn[b-ojlppi41gd] { background:#fff; border:none; border-left:1px solid var(--p360-border,#e5e7eb); padding:.28rem .55rem; font-size:.74rem; cursor:pointer; color:var(--p360-text-muted,#6b7280) }
.atv-attseg__btn:first-child[b-ojlppi41gd] { border-left:none }
.atv-attseg__btn.is-present[b-ojlppi41gd] { background:#dcfce7; color:#15803d; font-weight:600 }
.atv-attseg__btn.is-absent[b-ojlppi41gd] { background:#fee2e2; color:#b91c1c; font-weight:600 }
.atv-attseg__btn.is-excused[b-ojlppi41gd] { background:#fef3c7; color:#92400e; font-weight:600 }
.atv-attseg__btn.is-pending[b-ojlppi41gd] { background:#f1f5f9; color:#475569; font-weight:600 }

/* Participantes — lista compacta clicável (abre o editor focado) */
.atv-plist[b-ojlppi41gd] { display:flex; flex-direction:column; margin-top:.3rem }
.atv-prow[b-ojlppi41gd] { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; width:100%; text-align:left; background:#fff; border:none; border-top:1px solid var(--p360-border,#f1f5f9); padding:.5rem .3rem; cursor:pointer; font:inherit }
.atv-prow:hover[b-ojlppi41gd] { background:var(--p360-background,#f3f4f6) }
.atv-prow__name[b-ojlppi41gd] { font-weight:600; font-size:.88rem; min-width:120px }
.atv-prow__status[b-ojlppi41gd] { font-size:.7rem; font-weight:600; padding:.1rem .5rem; border-radius:1rem }
.atv-prow__status--present[b-ojlppi41gd] { background:#dcfce7; color:#15803d }
.atv-prow__status--absent[b-ojlppi41gd] { background:#fee2e2; color:#b91c1c }
.atv-prow__status--excused[b-ojlppi41gd] { background:#fef3c7; color:#92400e }
.atv-prow__status--pending[b-ojlppi41gd] { background:#f1f5f9; color:#475569 }
.atv-prow__eng[b-ojlppi41gd] { font-size:.72rem; color:#475569 }
.atv-prow__fr[b-ojlppi41gd] { font-size:.66rem; border:1px solid var(--p360-border,#e5e7eb); border-radius:1rem; padding:.02rem .4rem; color:#475569 }
.atv-prow__note[b-ojlppi41gd] { font-size:.76rem; color:#64748b; font-style:italic; flex:1; min-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.atv-prow__edit[b-ojlppi41gd] { margin-left:auto; font-size:.74rem; color:var(--p360-primary); white-space:nowrap }
/* /Pages/Clinical/Admissao.razor.rz.scp.css */
.adm-muted[b-7qugwf16bs] { color: var(--p360-text-muted); }
.adm-muted-sm[b-7qugwf16bs] { color: var(--p360-text-muted); font-size: .85rem; }
.adm-mb[b-7qugwf16bs] { margin-bottom: 1rem; }
.adm-mt[b-7qugwf16bs] { margin-top: .5rem; }
.adm-flex1[b-7qugwf16bs] { flex: 1; }

.adm-header[b-7qugwf16bs] { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.adm-avatar[b-7qugwf16bs] { background: var(--p360-primary); color: white; width: 48px; height: 48px; font-size: 1.1rem; }
.adm-name[b-7qugwf16bs] { font-size: 1.2rem; font-weight: 700; }
.adm-sub[b-7qugwf16bs] { color: var(--p360-text-muted); font-size: .9rem; }

.adm-card-head[b-7qugwf16bs] { display: flex; justify-content: space-between; align-items: center; }
.adm-title-flat[b-7qugwf16bs] { margin: 0; }
.adm-btn-sm[b-7qugwf16bs] { padding: .2rem .6rem; }

.adm-row[b-7qugwf16bs] { display: flex; gap: 2rem; flex-wrap: wrap; margin-top: .5rem; }
.adm-resp[b-7qugwf16bs] { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--p360-border); }
.adm-form-row[b-7qugwf16bs] { display: flex; gap: .75rem; }
.adm-section-label[b-7qugwf16bs] { font-weight: 600; margin: .25rem 0; color: var(--p360-text-muted); font-size: .8rem; text-transform: uppercase; }
.adm-actions[b-7qugwf16bs] { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .4rem; }

.adm-banner[b-7qugwf16bs] { border-left: 4px solid var(--p360-danger); margin-bottom: 1rem; }
.adm-banner__title[b-7qugwf16bs] { color: var(--p360-danger); }
.adm-chips[b-7qugwf16bs] { margin-top: .5rem; display: flex; gap: 2rem; flex-wrap: wrap; }
.adm-chip-label[b-7qugwf16bs] { font-size: .78rem; color: var(--p360-text-muted); }
.adm-chip[b-7qugwf16bs] { margin: 1px; }
.adm-x[b-7qugwf16bs] { cursor: pointer; }
.adm-banner-edit[b-7qugwf16bs] { display: flex; gap: .5rem; margin-top: .6rem; flex-wrap: wrap; }
.adm-input-narrow[b-7qugwf16bs] { max-width: 200px; }
.adm-saverow[b-7qugwf16bs] { display: flex; justify-content: flex-end; margin-top: .6rem; }
/* /Pages/Clinical/AjudasTecnicasCard.razor.rz.scp.css */
.at-header[b-8sotht682k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.at-title i[b-8sotht682k] { color: var(--p360-primary, #2563eb); }

.at-muted[b-8sotht682k] { color: var(--p360-muted, #6b7280); }

.at-empty[b-8sotht682k] {
    display: block;
    color: var(--p360-muted, #6b7280);
    padding: 12px 0;
}

.at-mt[b-8sotht682k] { margin-top: 12px; }

.at-warning[b-8sotht682k] {
    padding: 10px 12px;
    margin-bottom: 12px;
    border: 1px solid var(--p360-warning, #f59e0b);
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.08);
    font-size: 0.9rem;
}

/* Interruptor "Usa ajudas técnicas": é a resposta que abre (ou fecha) o resto do formulário. */
.at-toggle[b-8sotht682k] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 8px;
    background: var(--p360-surface, #fff);
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: 500;
}

.at-toggle--on[b-8sotht682k] {
    border-color: var(--p360-primary, #2563eb);
    color: var(--p360-primary, #2563eb);
}

.at-group[b-8sotht682k] { margin-top: 12px; }

.at-group-title[b-8sotht682k] {
    margin: 0 0 6px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--p360-muted, #6b7280);
}

.at-chipset[b-8sotht682k] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.at-chip[b-8sotht682k] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 999px;
    background: var(--p360-surface, #fff);
    cursor: pointer;
    font-size: 0.85rem;
}

.at-chip--on[b-8sotht682k] {
    border-color: var(--p360-primary, #2563eb);
    background: rgba(37, 99, 235, 0.08);
    color: var(--p360-primary, #2563eb);
    font-weight: 600;
}

.at-chip--read[b-8sotht682k] { cursor: default; }

.at-hint[b-8sotht682k] {
    margin: 8px 0 0;
    font-size: 0.78rem;
}

/* Item gravado que saiu da lista da casa: continua a ler-se, mas assinalado. */
.at-chip--retired[b-8sotht682k] {
    border-style: dashed;
    color: var(--p360-muted, #6b7280);
}

.at-answer[b-8sotht682k] { margin-bottom: 4px; }

.at-notes[b-8sotht682k] {
    margin-top: 10px;
    font-size: 0.9rem;
    white-space: pre-wrap;
}

.at-meta[b-8sotht682k] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 10px;
    font-size: 0.8rem;
    color: var(--p360-muted, #6b7280);
}

.at-meta i[b-8sotht682k] { margin-right: 3px; }

.at-actions-row[b-8sotht682k] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}
/* /Pages/Clinical/CareSummaryCard.razor.rz.scp.css */
/* Bloco «Cuidados»: sem barra de destaque à esquerda (num cartão arredondado é decoração, e a
   barra lateral já tem cartões iguais). Distingue-se pelo peso das linhas e pela posição. */

/* ⚠️ A separação entre cartões da barra lateral vem de `.ps-card`, que vive no CSS **scoped** do
   PatientShell e por isso não alcança um cartão renderizado por outro componente: sem esta regra o
   bloco ficava colado ao cartão de cima, com as duas margens internas a ler-se como um vazio no
   meio. O valor acompanha o `.ps-card` de propósito — se lá mudar, muda aqui. */
.cs-card[b-camb981nm9] { margin-top: .75rem; }

.cs-title i[b-camb981nm9] { color: var(--p360-primary, #877D38); }

.cs-muted[b-camb981nm9] { color: var(--p360-text-muted, #6b7280); font-size: .85rem; margin: .5rem 0 0; }

.cs-rows[b-camb981nm9] { display: flex; flex-direction: column; gap: 1px; margin-top: .6rem; }

.cs-row[b-camb981nm9] {
    display: grid;
    grid-template-columns: 18px 1fr auto;
    align-items: start;
    gap: .55rem;
    padding: .45rem .35rem;
    border-radius: 6px;
    text-decoration: none;
    color: inherit;
}

.cs-row:hover[b-camb981nm9] { background: var(--p360-background, #F3F4F6); }
.cs-row:focus-visible[b-camb981nm9] { outline: 2px solid var(--p360-primary, #877D38); outline-offset: -2px; }

.cs-row__ico[b-camb981nm9] { color: var(--p360-primary, #877D38); font-size: .9rem; margin-top: .15rem; }
.cs-row__body[b-camb981nm9] { min-width: 0; }

.cs-row__k[b-camb981nm9] {
    display: block;
    font-size: .72rem;
    color: var(--p360-text-muted, #6b7280);
    line-height: 1.3;
}

.cs-row__v[b-camb981nm9] {
    display: block;
    font-weight: 600;
    font-size: .85rem;
    line-height: 1.3;
}

.cs-badge[b-camb981nm9] { margin-left: .3rem; font-weight: 600; vertical-align: 1px; }

.cs-row__note[b-camb981nm9] {
    display: block;
    font-size: .72rem;
    color: var(--p360-text-muted, #6b7280);
    line-height: 1.35;
    margin-top: .1rem;
}

.cs-row__go[b-camb981nm9] {
    font-size: .7rem;
    color: var(--p360-text-muted, #6b7280);
    opacity: 0;
    transition: opacity .12s;
    margin-top: .3rem;
}

.cs-row:hover .cs-row__go[b-camb981nm9] { opacity: 1; }

/* Por preencher: continua a ler-se, mas sem competir com o que tem valor. Esconder o vazio faria
   parecer que estava tudo tratado. */
.cs-row--empty .cs-row__v[b-camb981nm9] {
    font-weight: 500;
    font-style: italic;
    color: var(--p360-text-muted, #6b7280);
}
.cs-row--empty .cs-row__ico[b-camb981nm9] { color: #c3c6cc; }

@media (prefers-reduced-motion: reduce) {
    .cs-row__go[b-camb981nm9] { transition: none; }
}
/* /Pages/Clinical/ClinicalAlertBanner.razor.rz.scp.css */
/* Banner de alergias/CID da ficha — faixa de alerta sobre o conteúdo do módulo.
   Paleta idêntica ao mockup MyBlueBee (Tailwind):
   bg-red-100 #fee2e2 · border-red-500 #ef4444 · text-red-700 #b91c1c · p-3 0.75rem. */
.alert-banner[b-vblqko88i6] {
    --alert-bg: #fee2e2;     /* bg-red-100 */
    --alert-border: #ef4444; /* border-red-500 */
    --alert-text: #b91c1c;   /* text-red-700 */
    /* Mesmo ritmo vertical (1rem) que separa os cards: gap acima (da barra de módulos);
       o gap abaixo (até às sub-tabs) é dado pelo padding-top do .p360-modpanel. */
    margin-top: 1rem;
    border-radius: var(--p360-radius);
    padding: 0.75rem;
}

/* Vermelho sempre (paleta do mockup), com ou sem registos. */
.alert-banner--alert[b-vblqko88i6],
.alert-banner--empty[b-vblqko88i6] {
    background: var(--alert-bg);
    border: 1px solid var(--alert-border);
}

.alert-banner__bar[b-vblqko88i6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.alert-banner__body[b-vblqko88i6] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 0;
}

.alert-banner__title[b-vblqko88i6] {
    font-weight: 700;
    color: var(--alert-text);
    display: flex;
    align-items: center;
    gap: .4rem;
}

/* Estado vazio: mantém o vermelho do mockup, com peso ligeiramente menor. */
.alert-banner__title--muted[b-vblqko88i6] {
    color: var(--alert-text);
    font-weight: 600;
}

.alert-banner__line[b-vblqko88i6] {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    color: var(--p360-text);
    font-size: .92rem;
    /* O texto (ex.: lista longa de CID) tem de quebrar em vez de forçar a largura no telemóvel. */
    flex-wrap: wrap;
    min-width: 0;
    overflow-wrap: anywhere;
}

.alert-banner__icon[b-vblqko88i6] {
    color: var(--alert-text);
}

.alert-banner__actions[b-vblqko88i6] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-shrink: 0;
}

.alert-banner__btn[b-vblqko88i6] {
    padding: .3rem .7rem;
}

/* "Tenho conhecimento" — botão de contorno sobre fundo do alerta. */
.alert-banner__ack[b-vblqko88i6] {
    cursor: pointer;
    border: 1px solid var(--alert-border);
    background: var(--p360-surface);
    color: var(--alert-text);
    border-radius: var(--p360-radius-sm);
    padding: .3rem .7rem;
    font-weight: 600;
    font-size: .85rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
}

.alert-banner__ack:hover[b-vblqko88i6] {
    background: var(--alert-border);
    color: #fff;
}

/* ----- Botão flutuante de reabertura -----
   Aparece no lugar do banner depois de "Tenho conhecimento": o alerta sai da frente mas
   continua a um clique, sem obrigar a sair da ficha e voltar.
   z-index 50: acima do conteúdo, abaixo dos modais (60) e dos toasts (200) — um alerta
   reconhecido não deve tapar aquilo que o médico abriu a seguir. */
.alert-fab[b-vblqko88i6] {
    position: fixed;
    right: calc(1rem + env(safe-area-inset-right));
    bottom: calc(1rem + env(safe-area-inset-bottom));
    z-index: 50;

    width: 44px;    /* alvo de toque confortável (>=40px, como o resto da app) */
    height: 44px;
    border-radius: 50%;
    cursor: pointer;

    background: #fee2e2;            /* mesma paleta do banner */
    border: 1px solid #ef4444;
    color: #b91c1c;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);

    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    line-height: 1;
}

.alert-fab:hover[b-vblqko88i6] {
    background: #ef4444;
    color: #fff;
}

/* Nº de alergias: diz QUANTAS sem obrigar a reabrir. */
.alert-fab__count[b-vblqko88i6] {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 9px;
    background: #ef4444;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ----- Edição ("Gerir") ----- */
.alert-banner__edit[b-vblqko88i6] {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.alert-banner__edit-cols[b-vblqko88i6] {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

/* Nota que remete os CID para o separador Diagnósticos (o banner só gere alergias). */
.alert-banner__hint[b-vblqko88i6] {
    display: flex;
    align-items: flex-start;
    gap: .4rem;
    margin-top: .6rem;
    font-size: .78rem;
    color: var(--p360-text-muted);
}

.alert-banner__edit-col[b-vblqko88i6] {
    flex: 1;
    min-width: 240px;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.alert-banner__col-label[b-vblqko88i6] {
    font-size: .75rem;
    letter-spacing: .03em;
    color: var(--p360-text-muted);
}

.alert-banner__chips[b-vblqko88i6] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    min-height: 1.5rem;
    align-items: center;
}

.alert-banner__chip[b-vblqko88i6] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.alert-banner__x[b-vblqko88i6] {
    cursor: pointer;
    font-weight: 700;
    line-height: 1;
}

.alert-banner__muted[b-vblqko88i6] {
    color: var(--p360-text-muted);
    font-size: .85rem;
}

.alert-banner__add[b-vblqko88i6] {
    display: flex;
    gap: .4rem;
}

.alert-banner__input[b-vblqko88i6] {
    max-width: 220px;
}

.alert-banner__edit-actions[b-vblqko88i6] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}
/* /Pages/Clinical/ClinicalHistory.razor.rz.scp.css */
/* Barra de filtros (período + profissional) */
.ch-filters[b-r3lnerq9ed] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; margin-bottom: .5rem; }
.ch-field[b-r3lnerq9ed] { margin: 0; }
.ch-field--author[b-r3lnerq9ed] { min-width: 160px; }

/* Chips de especialidade (toggle de filtro) */
.ch-specs[b-r3lnerq9ed] { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .6rem; }
.ch-spec[b-r3lnerq9ed] { cursor: pointer; border: none; }
.ch-spec--on[b-r3lnerq9ed] { opacity: 1; }
.ch-spec--off[b-r3lnerq9ed] { opacity: .55; }

.ch-muted[b-r3lnerq9ed] { color: var(--p360-text-muted); }

/* Lista de registos */
.ch-list[b-r3lnerq9ed] { display: flex; flex-direction: column; gap: .6rem; max-height: 62vh; overflow-y: auto; }
.ch-entry[b-r3lnerq9ed] { border: 1px solid var(--p360-border); border-left: 4px solid var(--p360-border); border-radius: 8px; padding: .5rem .65rem; }
.ch-entry__head[b-r3lnerq9ed] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.ch-entry__meta[b-r3lnerq9ed] { font-size: .8rem; color: var(--p360-text-muted); }
.ch-entry[b-r3lnerq9ed]  .p360-rich { margin-top: .25rem; }
.ch-acts[b-r3lnerq9ed] { display: flex; gap: .15rem; flex-shrink: 0; }
.ch-edit[b-r3lnerq9ed] { padding: .1rem .4rem; color: var(--p360-text-muted); }
.ch-del[b-r3lnerq9ed] { padding: .1rem .4rem; color: var(--p360-danger); }

/* Registo já fixo (passaram as 24 h ou não é do autor): cadeado, com a razão no title */
.ch-locked[b-r3lnerq9ed] { padding: .1rem .4rem; color: var(--p360-text-muted); font-size: .8rem; cursor: help; flex-shrink: 0; }

/* Marca de que o texto já não é o original */
.ch-edited[b-r3lnerq9ed] { display: inline-block; margin-top: .2rem; font-size: .72rem; color: var(--p360-text-muted); font-style: italic; cursor: help; }

/* Correção em linha (editor de texto rico) */
.ch-editor[b-r3lnerq9ed] { margin-top: .4rem; }
.ch-editor__actions[b-r3lnerq9ed] { display: flex; justify-content: flex-end; gap: .4rem; margin-top: .4rem; }

/* Paginação */
.ch-pager[b-r3lnerq9ed] { display: flex; justify-content: space-between; align-items: center; margin-top: .6rem; font-size: .85rem; }
.ch-pager__nav[b-r3lnerq9ed] { display: flex; gap: .3rem; }
.ch-pager__btn[b-r3lnerq9ed] { padding: .15rem .55rem; }
/* /Pages/Clinical/ConsultaPeCard.razor.rz.scp.css */
.cp-header[b-wls2g960rt] { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem; }
.cp-muted[b-wls2g960rt] { color: var(--p360-text-muted); font-size: .85rem; }
.cp-empty[b-wls2g960rt] { color: var(--p360-text-muted); font-size: .9rem; }
.cp-mt[b-wls2g960rt] { margin-top: .75rem; }
.cp-span2[b-wls2g960rt] { grid-column: 1 / -1; }

/* ---- Cabeçalho do risco: o grau e a data têm de se ler sem abrir nada ---- */
.cp-risk[b-wls2g960rt] {
    display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start;
    border: 1px solid var(--p360-border); border-radius: var(--p360-radius);
    padding: .8rem 1rem; margin: .75rem 0;
    background: var(--p360-background);
}
.cp-risk--success[b-wls2g960rt] { background: var(--p360-success-bg); border-color: #bbf7d0; }
.cp-risk--warning[b-wls2g960rt] { background: var(--p360-warning-bg); border-color: #fde68a; }
.cp-risk--danger[b-wls2g960rt] { background: var(--p360-danger-bg); border-color: #fecaca; }
.cp-risk__main[b-wls2g960rt] { flex: 1 1 260px; }
.cp-risk__next[b-wls2g960rt] { margin-left: auto; text-align: right; }
.cp-risk__label[b-wls2g960rt] {
    font-size: .7rem; text-transform: uppercase; letter-spacing: .05em;
    color: var(--p360-text-muted); font-weight: 700;
}
.cp-risk__level[b-wls2g960rt] { font-size: 1.05rem; font-weight: 700; }
.cp-risk__date[b-wls2g960rt] { font-size: 1rem; font-weight: 600; display: flex; gap: .4rem; align-items: center; justify-content: flex-end; }
.cp-risk__why[b-wls2g960rt] { font-size: .82rem; color: #374151; max-width: 66ch; }

/* ---- Formulário em janela (padrão p360-modal, como Feridas e Rastreios) ---- */
.cp-form-modal[b-wls2g960rt] { max-width: 940px; display: flex; flex-direction: column; overflow: hidden; }
.cp-form-modal .p360-modal__body[b-wls2g960rt] { overflow-y: auto; }
.cp-form__state[b-wls2g960rt] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .6rem; }
.cp-tabs[b-wls2g960rt] { margin-bottom: .85rem; }
.cp-note[b-wls2g960rt] {
    margin-top: .75rem; padding: .6rem .8rem; font-size: .85rem;
    border-left: 3px solid var(--p360-info); background: var(--p360-info-bg);
    border-radius: 0 var(--p360-radius-sm) var(--p360-radius-sm) 0;
}

/* ---- Blocos por pé (renderizados pelos componentes FootExamFields/FootTestFields) ---- */
.cp-feet[b-wls2g960rt] { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.cp-feet[b-wls2g960rt]  .cp-foot { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .8rem; }
.cp-feet[b-wls2g960rt]  .cp-foot__title { display: flex; align-items: center; gap: .45rem; font-size: .92rem; margin-bottom: .6rem; }
.cp-feet[b-wls2g960rt]  .cp-checks { display: grid; gap: .3rem; margin-top: .6rem; }
.cp-feet[b-wls2g960rt]  .cp-check { display: flex; align-items: flex-start; gap: .45rem; font-size: .85rem; cursor: pointer; }
.cp-feet[b-wls2g960rt]  .cp-check input { accent-color: var(--p360-primary); width: 15px; height: 15px; margin-top: .2rem; }
.cp-feet[b-wls2g960rt]  .cp-check--alert { font-weight: 600; }
.cp-feet[b-wls2g960rt]  .cp-muted { color: var(--p360-text-muted); font-weight: 400; }
.cp-feet[b-wls2g960rt]  .cp-mt { margin-top: .75rem; }
.cp-feet[b-wls2g960rt]  .cp-hint { font-size: .78rem; color: var(--p360-text-muted); margin-top: .3rem; display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }

/* Pontos do monofilamento: marcados = sem sensibilidade (vermelho, como o risco que representam) */
.cp-feet[b-wls2g960rt]  .cp-sites { display: flex; gap: .4rem; flex-wrap: wrap; }
.cp-feet[b-wls2g960rt]  .cp-site {
    border: 1px solid var(--p360-border); border-radius: 999px; padding: .2rem .65rem;
    font-size: .8rem; cursor: pointer; background: var(--p360-surface); color: var(--p360-text-muted);
    font-family: inherit;
}
.cp-feet[b-wls2g960rt]  .cp-site:hover { color: var(--p360-text); }
.cp-feet[b-wls2g960rt]  .cp-site--missing {
    background: var(--p360-danger-bg); border-color: #fecaca; color: #991b1b; font-weight: 600;
}

/* Checkbox da insulinoterapia, fora dos blocos por pé */
.cp-check[b-wls2g960rt] { display: flex; align-items: center; gap: .45rem; font-size: .85rem; cursor: pointer; }
.cp-check input[b-wls2g960rt] { accent-color: var(--p360-primary); width: 15px; height: 15px; }

/* ---- Histórico ---- */
.cp-list[b-wls2g960rt] { display: flex; flex-direction: column; gap: .5rem; margin-top: .75rem; }
.cp-item[b-wls2g960rt] {
    display: flex; gap: .6rem; align-items: flex-start;
    border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .6rem .75rem;
}
.cp-item:hover[b-wls2g960rt] { background: var(--p360-background); }
.cp-item__main[b-wls2g960rt] { flex: 1; min-width: 0; }
.cp-item__top[b-wls2g960rt] { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.cp-item__feet[b-wls2g960rt] { display: flex; flex-direction: column; gap: .1rem; font-size: .85rem; margin-top: .25rem; }
.cp-item__meta[b-wls2g960rt] { display: flex; gap: .8rem; flex-wrap: wrap; font-size: .78rem; color: var(--p360-text-muted); margin-top: .25rem; }
.cp-item__obs[b-wls2g960rt] { font-size: .85rem; margin-top: .3rem; color: #374151; }
.cp-item__actions[b-wls2g960rt] { display: flex; gap: .25rem; }
.cp-btn-sm[b-wls2g960rt] { padding: .25rem .5rem; }
.cp-btn-danger:hover[b-wls2g960rt] { color: var(--p360-danger); }

@media (max-width: 640px) {
    .cp-risk__next[b-wls2g960rt] { margin-left: 0; text-align: left; }
    .cp-risk__date[b-wls2g960rt] { justify-content: flex-start; }
}
/* /Pages/Clinical/InformacoesComplementaresCard.razor.rz.scp.css */
.ic-header[b-hlgkpy272a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.ic-title i[b-hlgkpy272a] { color: var(--p360-primary, #2563eb); }

.ic-muted[b-hlgkpy272a] { color: var(--p360-muted, #6b7280); }

.ic-empty[b-hlgkpy272a] {
    display: block;
    color: var(--p360-muted, #6b7280);
    padding: 12px 0;
}

.ic-mt[b-hlgkpy272a] { margin-top: 12px; }

.ic-warning[b-hlgkpy272a] {
    padding: 10px 12px;
    margin-bottom: 12px;
    border: 1px solid var(--p360-warning, #f59e0b);
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.08);
    font-size: 0.9rem;
}

.ic-check[b-hlgkpy272a] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.95rem;
}

/* ---- Leitura: os três factos em linha ---- */
.ic-facts[b-hlgkpy272a] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ic-fact[b-hlgkpy272a] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1 1 180px;
    padding: 10px 12px;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 8px;
    background: var(--p360-surface, #fff);
}

.ic-fact__label[b-hlgkpy272a] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--p360-muted, #6b7280);
}

.ic-fact__label i[b-hlgkpy272a] { margin-right: 4px; }

.ic-fact__value[b-hlgkpy272a] {
    font-size: 1rem;
    font-weight: 600;
}

.ic-fact__note[b-hlgkpy272a] {
    font-size: 0.85rem;
    color: var(--p360-muted, #6b7280);
    white-space: pre-wrap;
}

.ic-retired[b-hlgkpy272a] { margin-left: 6px; font-weight: 400; }

/* ---- Funções do corpo ---- */
.ic-section[b-hlgkpy272a] { margin-top: 18px; }

.ic-section__title[b-hlgkpy272a] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 6px;
}

.ic-section__title i[b-hlgkpy272a] { color: var(--p360-primary, #2563eb); }

.ic-count[b-hlgkpy272a] {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--p360-muted, #6b7280);
}

.ic-legend[b-hlgkpy272a] { font-size: 0.8rem; margin: 0 0 8px; }

.ic-table[b-hlgkpy272a] {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.ic-table th[b-hlgkpy272a],
.ic-table td[b-hlgkpy272a] {
    border: 1px solid var(--p360-border, #e5e7eb);
    padding: 8px;
    vertical-align: top;
}

.ic-th-fn[b-hlgkpy272a] { text-align: left; width: 42%; }

.ic-th-lvl[b-hlgkpy272a] {
    text-align: center;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
}

.ic-td-fn[b-hlgkpy272a] { line-height: 1.35; }

.ic-fn-desc[b-hlgkpy272a] {
    display: block;
    margin-top: 3px;
    font-size: 0.75rem;
    color: var(--p360-muted, #6b7280);
}

.ic-td-lvl[b-hlgkpy272a] { text-align: center; vertical-align: middle; }

/* A célula escolhida marca-se com um X, como no impresso em papel. */
.ic-pick[b-hlgkpy272a] {
    width: 30px;
    height: 30px;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 6px;
    background: var(--p360-surface, #fff);
    cursor: pointer;
    color: var(--p360-primary, #2563eb);
}

.ic-pick--on[b-hlgkpy272a] {
    border-color: var(--p360-primary, #2563eb);
    background: rgba(37, 99, 235, 0.1);
}

.ic-rows[b-hlgkpy272a] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ic-row[b-hlgkpy272a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 10px;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 8px;
    background: var(--p360-surface, #fff);
}

.ic-row__fn[b-hlgkpy272a] {
    font-size: 0.88rem;
    min-width: 0;
}

.ic-notes[b-hlgkpy272a] {
    margin-top: 12px;
    font-size: 0.9rem;
    white-space: pre-wrap;
}

.ic-meta[b-hlgkpy272a] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
    font-size: 0.8rem;
    color: var(--p360-muted, #6b7280);
}

.ic-meta i[b-hlgkpy272a] { margin-right: 3px; }

.ic-actions-row[b-hlgkpy272a] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 14px;
}
/* /Pages/Clinical/MedicalOrdersCard.razor.rz.scp.css */
/* Cabeçalho do card e título sem margem (em modo "all"). */
.mo-card-title[b-i7zr0tw1os] { margin: 0 0 .25rem; }
.mo-muted[b-i7zr0tw1os] { color: var(--p360-text-muted); }

/* Secção (MCDT / Diagnósticos): isolada vs. com divisória superior. */
.mo-section[b-i7zr0tw1os] { margin-top: .6rem; }
.mo-section--divided[b-i7zr0tw1os] { margin-top: 1rem; padding-top: .6rem; border-top: 1px solid var(--p360-border); }
.mo-medication[b-i7zr0tw1os] { margin-top: .6rem; }

/* Cabeçalho de cada secção: título à esquerda, botão "Adicionar" à direita. */
.mo-section-head[b-i7zr0tw1os] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
/* Mesmo tamanho do botão de adicionar dos Sinais Vitais / Escalas (.vs-btn-sm / .sa-btn-sm). */
.mo-add-btn[b-i7zr0tw1os] { padding: .2rem .6rem; white-space: nowrap; }

.mo-empty[b-i7zr0tw1os] { color: var(--p360-text-muted); font-size: .85rem; margin-top: .25rem; }

/* Filtro da lista de medicação: chips com contagem. Deliberadamente três e sem menu — o médico
   tem de ver de relance o que está a ver, e voltar ao "a decorrer" num clique. */
.mo-scopes[b-i7zr0tw1os] { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0 .15rem; }

.mo-scope[b-i7zr0tw1os] {
    cursor: pointer;
    border: 1px solid var(--p360-border);
    background: var(--p360-surface);
    color: var(--p360-text-muted);
    border-radius: 9999px;
    padding: .25rem .7rem;
    font-size: .8rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.mo-scope:hover[b-i7zr0tw1os] { border-color: var(--p360-primary); color: var(--p360-primary-700); }

.mo-scope--on[b-i7zr0tw1os] {
    background: var(--p360-primary-100);
    border-color: var(--p360-primary);
    color: var(--p360-primary-700);
}

/* Contagem: diz quantas há em cada filtro sem obrigar a clicar para descobrir. */
.mo-scope__n[b-i7zr0tw1os] {
    background: var(--p360-background);
    border-radius: 9999px;
    padding: 0 .35rem;
    font-size: .72rem;
    min-width: 1.2rem;
    text-align: center;
}

.mo-scope--on .mo-scope__n[b-i7zr0tw1os] { background: var(--p360-surface); }

/* ---- Lista de medicação ---- */
.mo-med-list[b-i7zr0tw1os] { display: flex; flex-direction: column; gap: .4rem; margin-top: .4rem; }
.mo-med-item[b-i7zr0tw1os] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .5rem .65rem; }
.mo-med-item--stopped[b-i7zr0tw1os] { opacity: .6; }
.mo-med-row[b-i7zr0tw1os] { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem; }
.mo-med-main[b-i7zr0tw1os] { min-width: 0; }
.mo-med-name[b-i7zr0tw1os] { margin-left: .35rem; }
.mo-med-code[b-i7zr0tw1os] { margin-left: .3rem; font-size: .7rem; }
.mo-pharm[b-i7zr0tw1os] { margin-left: .3rem; }
.mo-med-sep[b-i7zr0tw1os] { color: var(--p360-text-muted); }
/* Ações por linha: ícones limpos (sem caixa), esbatidos, com hover subtil — destrutivo a vermelho. */
.mo-row-actions[b-i7zr0tw1os] { display: flex; gap: .1rem; flex: none; align-items: center; }
.mo-btn-icon[b-i7zr0tw1os] {
    padding: .32rem .42rem;
    border: none;
    background: transparent;
    color: var(--p360-text-muted);
    border-radius: var(--p360-radius-sm);
    line-height: 1;
    transition: background .12s ease, color .12s ease;
}
.mo-btn-icon:hover:not(:disabled)[b-i7zr0tw1os] { background: var(--p360-background); color: var(--p360-primary-700); }
.mo-btn-danger[b-i7zr0tw1os] { color: var(--p360-danger); }
.mo-btn-danger:hover:not(:disabled)[b-i7zr0tw1os] { color: var(--p360-danger); }

/* Grelha de dias da semana (chips). */
.mo-days[b-i7zr0tw1os] { display: flex; gap: .22rem; margin-top: .4rem; flex-wrap: wrap; }
.mo-day-chip[b-i7zr0tw1os] { font-size: .7rem; }
.mo-day-chip--off[b-i7zr0tw1os] { opacity: .4; }
/* Botões de dia (toma / semana) usam .5 quando inativos, como no original. */
.mo-day-btn--off[b-i7zr0tw1os] { opacity: .5; }

/* Linha de baixo: tomas à esquerda, meta encostada à direita (poupa uma fila por cartão). */
.mo-med-bottom[b-i7zr0tw1os] { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; flex-wrap: wrap; margin-top: .4rem; }
/* Tomas por momento (resumo na lista). */
.mo-doses[b-i7zr0tw1os] { display: flex; gap: .4rem .9rem; flex-wrap: wrap; font-size: .85rem; }

.mo-med-note[b-i7zr0tw1os] { color: var(--p360-text-muted); font-size: .83rem; margin-top: .3rem; }
.mo-pharm-note[b-i7zr0tw1os] { font-size: .8rem; color: var(--p360-danger); margin-top: .2rem; }

/* Meta em "pastilhas" com ícone, em vez de texto corrido separado por pontos. */
.mo-med-meta[b-i7zr0tw1os] { display: flex; align-items: center; gap: .3rem .55rem; flex-wrap: wrap; margin-left: auto; font-size: .74rem; color: var(--p360-text-muted); }
.mo-meta-item[b-i7zr0tw1os] { display: inline-flex; align-items: center; gap: .25rem; white-space: nowrap; }
.mo-meta-item i[b-i7zr0tw1os] { opacity: .7; font-size: .72rem; }
/* Histórico: pastilha clicável (ícone + nº de alterações), não um link sublinhado perdido no texto. */
.mo-hist-btn[b-i7zr0tw1os] {
    display: inline-flex; align-items: center; gap: .25rem;
    border: 1px solid var(--p360-border); background: var(--p360-surface);
    color: var(--p360-text-muted); border-radius: 999px;
    padding: .05rem .4rem; font-size: .72rem; line-height: 1.4; cursor: pointer;
    transition: background .12s ease, color .12s ease, border-color .12s ease;
}
.mo-hist-btn:hover[b-i7zr0tw1os] { background: var(--p360-primary-100); color: var(--p360-primary-700); border-color: var(--p360-primary); }

/* ---- Rastreabilidade: badge na fila dos estados (o botão do histórico vive na meta) ---- */
.mo-med-change[b-i7zr0tw1os] { font-size: .68rem; margin-left: .3rem; white-space: nowrap; }

.mo-hist-modal[b-i7zr0tw1os] { max-width: 640px; }
.mo-hist-list[b-i7zr0tw1os] { display: flex; flex-direction: column; gap: .45rem; }
.mo-hist-list--inline[b-i7zr0tw1os] { max-height: 200px; overflow-y: auto; border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); padding: .45rem .55rem; margin-top: .25rem; }
.mo-hist-item[b-i7zr0tw1os] { border-bottom: 1px solid var(--p360-border); padding-bottom: .4rem; }
.mo-hist-item:last-child[b-i7zr0tw1os] { border-bottom: none; padding-bottom: 0; }
.mo-hist-meta[b-i7zr0tw1os] { font-size: .74rem; color: var(--p360-text-muted); margin-left: .4rem; }
.mo-hist-summary[b-i7zr0tw1os] { font-size: .8rem; margin-top: .2rem; }
.mo-hist-reason[b-i7zr0tw1os] { font-size: .76rem; color: var(--p360-text-muted); font-style: italic; margin-top: .1rem; }

/* ---- Modal suspender/parar + decisão pós-cópia ---- */
.mo-state-modal[b-i7zr0tw1os] { max-width: 560px; }
.mo-state-med[b-i7zr0tw1os] { margin: 0 0 .5rem; }
.mo-state-explain[b-i7zr0tw1os] { display: flex; gap: .6rem; align-items: flex-start; font-size: .86rem; border-radius: var(--p360-radius-sm); padding: .55rem .65rem; }
.mo-state-explain i:first-child[b-i7zr0tw1os] { margin-top: .15rem; }
.mo-state-explain--suspend[b-i7zr0tw1os] { background: var(--p360-warning-bg); }
.mo-state-explain--stop[b-i7zr0tw1os] { background: var(--p360-danger-bg); }
.mo-copy-options[b-i7zr0tw1os] { display: flex; flex-direction: column; gap: .45rem; margin-top: .6rem; }
.mo-copy-opt[b-i7zr0tw1os] { display: flex; gap: .6rem; align-items: flex-start; text-align: left; padding: .55rem .7rem; white-space: normal; }
.mo-copy-opt i[b-i7zr0tw1os] { margin-top: .2rem; }
.mo-copy-opt small[b-i7zr0tw1os] { color: inherit; opacity: .82; font-weight: 400; }
.mo-copy-opt--danger[b-i7zr0tw1os] { border: 1px solid var(--p360-danger); color: var(--p360-danger); }

/* ---- Linhas de lista (MCDT / Diagnósticos) ---- */
.mo-line-list[b-i7zr0tw1os] { display: flex; flex-direction: column; gap: .3rem; margin-top: .4rem; }
.mo-line[b-i7zr0tw1os] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .25rem .1rem; border-bottom: 1px solid var(--p360-border); }
.mo-line-name[b-i7zr0tw1os] { margin-left: .4rem; }
/* Autor/data de um diagnóstico: encostados à direita, antes das ações. */
.mo-line-meta[b-i7zr0tw1os] { flex: none; }
.mo-line-sub[b-i7zr0tw1os] { color: var(--p360-text-muted); font-size: .85rem; }
.mo-line-dx[b-i7zr0tw1os] { margin-left: .35rem; }
.mo-line-code[b-i7zr0tw1os] { margin-left: .4rem; }
/* Diagnóstico anterior à tabela CID-11 (sem código) — assinalado na própria linha. */
.mo-line-legacy[b-i7zr0tw1os] { margin-left: .4rem; }

/* ---- Modais de medicação / MCDT / diagnóstico ---- */
.mo-modal[b-i7zr0tw1os] { max-width: 820px; }
/* MCDT e diagnóstico têm meia dúzia de campos — a largura da medicação deixava-os perdidos no meio do vazio. */
.mo-small-modal[b-i7zr0tw1os] { max-width: 560px; }
.mo-name-field[b-i7zr0tw1os] { position: relative; }
.mo-catalog-link[b-i7zr0tw1os] { font-size: .72rem; color: var(--p360-success); margin-top: .15rem; }
.mo-suggest[b-i7zr0tw1os] { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; background: var(--p360-surface); border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); box-shadow: var(--p360-shadow-lg); max-height: 220px; overflow-y: auto; }
.mo-suggest-item[b-i7zr0tw1os] { display: block; width: 100%; text-align: left; padding: .4rem .55rem; background: none; border: none; border-bottom: 1px solid var(--p360-border); cursor: pointer; }
.mo-suggest-code[b-i7zr0tw1os] { margin-right: .35rem; }

/* ---- Escolha do diagnóstico na tabela CID-11 ---- */
.mo-dx-search[b-i7zr0tw1os] { position: relative; }
/* Designações da CID-11 são longas: a lista precisa de mais altura e de quebrar linha. */
.mo-suggest--dx[b-i7zr0tw1os] { max-height: 260px; }
.mo-suggest--dx .mo-suggest-item[b-i7zr0tw1os] { white-space: normal; line-height: 1.3; }
.mo-dx-hint[b-i7zr0tw1os] { font-size: .76rem; color: var(--p360-text-muted); margin-top: .3rem; }
.mo-dx-picked[b-i7zr0tw1os] { display: flex; align-items: center; gap: .4rem; border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); padding: .4rem .5rem; }
.mo-dx-picked__title[b-i7zr0tw1os] { flex: 1; }

.mo-dose-head[b-i7zr0tw1os] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; margin-top: .5rem; }
.mo-check-inline[b-i7zr0tw1os] { border: none; padding: 0; font-size: .78rem; }
.mo-check-flat[b-i7zr0tw1os] { border: none; padding: 0; }
.mo-dose-row[b-i7zr0tw1os] { display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.mo-dose-cell[b-i7zr0tw1os] { display: flex; flex-direction: column; gap: .15rem; min-width: 96px; }
.mo-dose-moment[b-i7zr0tw1os] { font-size: .78rem; color: var(--p360-text-muted); }
.mo-dose-qty[b-i7zr0tw1os] { padding: .3rem .4rem; }
.mo-dose-days[b-i7zr0tw1os] { display: flex; flex-wrap: wrap; gap: .2rem; margin-top: .1rem; max-width: 172px; }
.mo-dose-day[b-i7zr0tw1os] { cursor: pointer; border: none; font-size: .62rem; padding: .05rem .3rem; }

.mo-hint[b-i7zr0tw1os] { font-size: .76rem; color: var(--p360-text-muted); margin-top: .2rem; }
.mo-hint--gap[b-i7zr0tw1os] { margin-top: .4rem; }

.mo-week-days[b-i7zr0tw1os] { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.mo-week-day[b-i7zr0tw1os] { cursor: pointer; border: none; }
.mo-all-days[b-i7zr0tw1os] { padding: .1rem .5rem; font-size: .78rem; }
.mo-spaced[b-i7zr0tw1os] { margin-top: .5rem; }

/* P.8 — Prescrição materializada de uma receita eletrónica, ainda sem posologia. É inerte no circuito
   (sem tomas não gera células de blister nem entradas no board), por isso o aviso não é decorativo. */
.mo-med-sem-posologia[b-i7zr0tw1os] {
    white-space: nowrap;
}
/* /Pages/Clinical/MedicalRecordCard.razor.rz.scp.css */
.mr-title[b-xxoxdfd8hu] { margin: 0; }

.mr-muted[b-xxoxdfd8hu] { color: var(--p360-text-muted); }

.mr-readonly[b-xxoxdfd8hu] { font-size: .9rem; margin-top: .5rem; }

.mr-toprow[b-xxoxdfd8hu] {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    margin-top: .5rem;
}

.mr-field[b-xxoxdfd8hu] {
    flex: 1;
    min-width: 160px;
}

.mr-actions[b-xxoxdfd8hu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-top: .5rem;
    flex-wrap: wrap;
}

.mr-fav-actions[b-xxoxdfd8hu] {
    display: flex;
    gap: .4rem;
    align-items: center;
}

.mr-btn-sm[b-xxoxdfd8hu] { padding: .2rem .5rem; }

.mr-fav-title[b-xxoxdfd8hu] { max-width: 180px; }

.mr-fav-list[b-xxoxdfd8hu] {
    margin-top: .5rem;
    padding-top: .5rem;
    border-top: 1px solid var(--p360-border);
    font-size: .8rem;
    color: var(--p360-text-muted);
}

.mr-fav-chip[b-xxoxdfd8hu] { margin: 1px; }

.mr-fav-remove[b-xxoxdfd8hu] { cursor: pointer; }

.mr-history[b-xxoxdfd8hu] {
    margin-top: .85rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.mr-record[b-xxoxdfd8hu] {
    border-left: 3px solid var(--p360-primary);
    padding: .1rem .75rem;
}

.mr-record__head[b-xxoxdfd8hu] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
}

.mr-record__meta[b-xxoxdfd8hu] {
    font-size: .82rem;
    color: var(--p360-text-muted);
}

.mr-record__del[b-xxoxdfd8hu] {
    padding: .1rem .45rem;
    color: var(--p360-danger);
}

.mr-record__body[b-xxoxdfd8hu] { margin-top: .15rem; }

/* Registo fixo (passadas 24 h ou de outro autor): cadeado discreto onde estaria o caixote. */
.mr-record__locked[b-xxoxdfd8hu] { color: var(--p360-text-muted, #6b7280); opacity: .45; font-size: .8rem; padding: 0 .4rem; cursor: help; }
/* /Pages/Clinical/NursingNotesCard.razor.rz.scp.css */
/* F3.4 — Registo de enfermagem. Estilos scoped do card. */

.nn-title[b-dm493lzd7r] {
    margin: 0;
}

.nn-muted[b-dm493lzd7r] {
    color: var(--p360-text-muted);
}

.nn-readonly[b-dm493lzd7r] {
    font-size: .9rem;
    margin-top: .5rem;
}

.nn-field[b-dm493lzd7r] {
    margin-top: .5rem;
}

.nn-actions[b-dm493lzd7r] {
    display: flex;
    justify-content: flex-end;
    margin-top: .5rem;
}

.nn-history[b-dm493lzd7r] {
    margin-top: .85rem;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.nn-entry[b-dm493lzd7r] {
    border-left: 3px solid var(--p360-primary);
    padding: .1rem .75rem;
}

.nn-entry__head[b-dm493lzd7r] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
}

.nn-entry__meta[b-dm493lzd7r] {
    font-size: .82rem;
    color: var(--p360-text-muted);
}

.nn-entry__body[b-dm493lzd7r] {
    margin-top: .15rem;
}

.nn-del[b-dm493lzd7r] {
    padding: .1rem .45rem;
    color: var(--p360-danger);
}

/* Registo fixo (passadas 24 h ou de outro autor): cadeado discreto onde estaria o caixote. */
.nn-locked[b-dm493lzd7r] { color: var(--p360-text-muted, #6b7280); opacity: .45; font-size: .8rem; padding: 0 .4rem; cursor: help; }
/* /Pages/Clinical/Panels/AdmissaoPanel.razor.rz.scp.css */
/* Módulo Admissão — layout dos cartões (cama, internamento, banner alergias/CID, social). */

.adm-card[b-4jua5f12ty] {
    margin-bottom: 1rem;
}

/* Espaço entre a faixa de sub-separadores e o conteúdo da admissão. */
.adm-subpanel[b-4jua5f12ty] {
    margin-top: 1rem;
}

/* Nota de rodapé do campo de resumo social. */
.adm-social-hint[b-4jua5f12ty] {
    margin: .4rem 0 0;
}

/* Cabeçalho de cartão: título à esquerda, botão de ação à direita. */
.adm-card__head[b-4jua5f12ty] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.adm-card__head .p360-card__title[b-4jua5f12ty] {
    margin: 0;
}

/* Botão de ação compacto no cabeçalho. */
.adm-head-btn[b-4jua5f12ty] {
    padding: .2rem .6rem;
}

/* Estado da cama (badge "sem cama atribuída" / cama atual). */
.adm-bed-state[b-4jua5f12ty] {
    margin-top: .5rem;
}

.adm-bed-none[b-4jua5f12ty] {
    color: var(--p360-text-muted);
    font-size: .9rem;
}

.adm-warn-icon[b-4jua5f12ty] {
    color: var(--p360-warning);
}

.adm-bed-error[b-4jua5f12ty] {
    margin: .5rem 0 0;
}

/* Linha de edição da cama: seletor + ações alinhados à base. */
.adm-bed-edit[b-4jua5f12ty] {
    display: flex;
    gap: .5rem;
    align-items: flex-end;
    margin-top: .5rem;
    flex-wrap: wrap;
}

.adm-bed-field[b-4jua5f12ty] {
    flex: 1;
    min-width: 240px;
    margin: 0;
}

.adm-bed-count[b-4jua5f12ty] {
    font-weight: 400;
    color: var(--p360-text-muted);
}

.adm-bed-free[b-4jua5f12ty] {
    color: var(--p360-danger);
}

/* Dados do internamento — pares chave/valor em linha. */
.adm-kv-row[b-4jua5f12ty] {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    margin-top: .5rem;
}

.adm-kv-wide[b-4jua5f12ty] {
    flex-basis: 100%;
}

/* Bloco do responsável / acompanhante (separado por linha de topo). */
.adm-resp[b-4jua5f12ty] {
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px solid var(--p360-border);
}

.adm-muted-sm[b-4jua5f12ty] {
    color: var(--p360-text-muted);
    font-size: .85rem;
}

.adm-resp-rel[b-4jua5f12ty] {
    color: var(--p360-text-muted);
}

.adm-resp-contact[b-4jua5f12ty] {
    color: var(--p360-text-muted);
    font-size: .9rem;
}

.adm-resp-contact .adm-resp-email[b-4jua5f12ty] {
    margin-left: .75rem;
}

/* Linhas de formulário de edição (campos lado a lado). */
.adm-form-row[b-4jua5f12ty] {
    display: flex;
    gap: .75rem;
}

.adm-form-row--top[b-4jua5f12ty] {
    margin-top: .5rem;
}

.adm-field-grow[b-4jua5f12ty] {
    flex: 1;
}

.adm-subhead[b-4jua5f12ty] {
    font-weight: 600;
    margin: .25rem 0;
    color: var(--p360-text-muted);
    font-size: .8rem;
    text-transform: uppercase;
}

.adm-actions-end[b-4jua5f12ty] {
    display: flex;
    justify-content: flex-end;
    margin-top: .6rem;
}

.adm-actions-end--gap[b-4jua5f12ty] {
    gap: .5rem;
    margin-top: .4rem;
}

/* Banner de alergias / CID. */
.adm-banner[b-4jua5f12ty] {
    border-left: 4px solid var(--p360-danger);
    margin-bottom: 1rem;
}

.adm-banner__title[b-4jua5f12ty] {
    color: var(--p360-danger);
}

.adm-banner-cols[b-4jua5f12ty] {
    margin-top: .5rem;
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.adm-col-label[b-4jua5f12ty] {
    font-size: .78rem;
    color: var(--p360-text-muted);
}

.adm-tag[b-4jua5f12ty] {
    margin: 1px;
}

.adm-tag-remove[b-4jua5f12ty] {
    cursor: pointer;
}

.adm-banner-edit[b-4jua5f12ty] {
    display: flex;
    gap: .5rem;
    margin-top: .6rem;
    flex-wrap: wrap;
}

.adm-tag-input[b-4jua5f12ty] {
    max-width: 200px;
}
/* /Pages/Clinical/Panels/AutonomiaPanel.razor.rz.scp.css */
/* Módulo Autonomia (AVD/AIVD): registo + histórico. Tokens var(--p360-*). */

.aut-loading[b-kvcjdj9ss7] { margin-top: 1rem; color: var(--p360-text-muted); }

.aut-2col[b-kvcjdj9ss7] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 900px) {
    .aut-2col[b-kvcjdj9ss7] { grid-template-columns: 1fr; }
}

.aut-card-head[b-kvcjdj9ss7] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .6rem;
}

.aut-hint[b-kvcjdj9ss7] { color: var(--p360-text-muted); font-size: .85rem; margin: .4rem 0; }
.aut-empty[b-kvcjdj9ss7] { color: var(--p360-text-muted); font-size: .9rem; margin: .3rem 0; }

/* ----- Grupos de seleção AVD / AIVD ----- */
.aut-checkgroups[b-kvcjdj9ss7] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
    margin-bottom: .6rem;
}

@media (max-width: 560px) {
    .aut-checkgroups[b-kvcjdj9ss7] { grid-template-columns: 1fr; }
}

.aut-group[b-kvcjdj9ss7] {
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    padding: .55rem .65rem;
    background: var(--p360-background);
}

.aut-group-title[b-kvcjdj9ss7] {
    font-weight: 600;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--p360-text-muted);
    margin: 0 0 .4rem;
}

/* Chips selecionáveis (multi-toggle) — compactos, encavalitam (padrão dos dias da Fisioterapia). */
.aut-chipset[b-kvcjdj9ss7] { display: flex; flex-wrap: wrap; gap: .35rem; }
.aut-chip-sel[b-kvcjdj9ss7] {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .3rem .6rem;
    border: 1px solid var(--p360-border);
    border-radius: 999px;
    background: var(--p360-surface, #fff);
    color: inherit;
    cursor: pointer;
    font-size: .82rem;
    line-height: 1.1;
    transition: background .12s, border-color .12s, color .12s;
}
.aut-chip-sel:hover[b-kvcjdj9ss7] { background: var(--p360-background); }
.aut-chip-sel--on[b-kvcjdj9ss7] {
    background: var(--p360-primary, #2563eb);
    color: #fff;
    border-color: var(--p360-primary, #2563eb);
}
.aut-chip-sel--on:hover[b-kvcjdj9ss7] { background: var(--p360-primary, #2563eb); }

.aut-fav-check[b-kvcjdj9ss7] { margin-top: .6rem; }

.aut-save-row[b-kvcjdj9ss7] {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
    margin-top: .8rem;
}

/* ----- Filtros do histórico (estilo Histórico Diário) ----- */
.aut-filters[b-kvcjdj9ss7] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; margin: .6rem 0 .8rem; }
.aut-field[b-kvcjdj9ss7] { margin: 0; }
.aut-field--author[b-kvcjdj9ss7] { min-width: 150px; }
.aut-field--search[b-kvcjdj9ss7] { flex: 1; min-width: 200px; }
.aut-fav-filter[b-kvcjdj9ss7] { align-self: center; }

.aut-muted[b-kvcjdj9ss7] { color: var(--p360-text-muted); font-size: .85rem; }

/* ----- Lista de registos (entradas com acento à esquerda, como o Histórico Diário) ----- */
.aut-list[b-kvcjdj9ss7] { display: flex; flex-direction: column; gap: .6rem; max-height: 62vh; overflow-y: auto; }

.aut-entry[b-kvcjdj9ss7] {
    border: 1px solid var(--p360-border);
    border-left: 4px solid var(--p360-border);
    border-radius: 8px;
    padding: .5rem .65rem;
    background: var(--p360-background);
}
.aut-entry__head[b-kvcjdj9ss7] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.aut-entry__meta[b-kvcjdj9ss7] { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; font-size: .8rem; color: var(--p360-text-muted); }
.aut-entry__actions[b-kvcjdj9ss7] { display: flex; gap: .2rem; align-items: center; }
.aut-entry__text[b-kvcjdj9ss7] { margin-top: .35rem; font-size: .88rem; white-space: pre-wrap; }

.aut-iconbtn[b-kvcjdj9ss7] { padding: .1rem .4rem; }
.aut-del[b-kvcjdj9ss7] { color: var(--p360-danger, #b91c1c); }
/* Registo já fixo (24 h passadas ou de outro profissional): cadeado, com a razão no title */
.aut-locked[b-kvcjdj9ss7] { padding: .1rem .4rem; color: var(--p360-text-muted); font-size: .8rem; cursor: help; }
/* Marca de que o registo já não é o original */
.aut-edited[b-kvcjdj9ss7] { display: inline-block; margin-top: .2rem; font-size: .72rem; color: var(--p360-text-muted); font-style: italic; cursor: help; }

.aut-badge[b-kvcjdj9ss7] {
    font-size: .7rem;
    padding: .1rem .45rem;
    border-radius: 999px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.aut-badge--ind[b-kvcjdj9ss7] { background: #dbeafe; color: #1e40af; }
.aut-badge--grp[b-kvcjdj9ss7] { background: #ede9fe; color: #5b21b6; }
.aut-badge--resp[b-kvcjdj9ss7] { background: #f1f5f9; color: #334155; text-transform: none; letter-spacing: 0; }

.aut-star[b-kvcjdj9ss7] { background: none; border: none; cursor: pointer; color: var(--p360-border); font-size: .9rem; }
.aut-star:disabled[b-kvcjdj9ss7] { cursor: default; }
.aut-star--on[b-kvcjdj9ss7] { color: #f59e0b; }

.aut-chips[b-kvcjdj9ss7] { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .4rem; }
.aut-chip[b-kvcjdj9ss7] { font-size: .74rem; padding: .12rem .5rem; border-radius: 999px; border: 1px solid transparent; }
.aut-chip--avd[b-kvcjdj9ss7] { background: #ecfdf5; color: #065f46; border-color: #d1fae5; }
.aut-chip--aivd[b-kvcjdj9ss7] { background: #eff6ff; color: #1e40af; border-color: #dbeafe; }

/* ----- Paginação ----- */
.aut-pager[b-kvcjdj9ss7] { display: flex; justify-content: space-between; align-items: center; margin-top: .6rem; font-size: .85rem; }
.aut-pager__nav[b-kvcjdj9ss7] { display: flex; gap: .3rem; }
.aut-pager__btn[b-kvcjdj9ss7] { padding: .15rem .55rem; }
/* /Pages/Clinical/Panels/FisioterapiaPanel.razor.rz.scp.css */
/* F6.3 — Fisioterapia: avaliação & plano / sessões / resumo. Tokens var(--p360-*). */

.fis-2col[b-xj2kokh883] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}

@media (max-width: 900px) {
    .fis-2col[b-xj2kokh883] { grid-template-columns: 1fr; }
}

.fis-hint[b-xj2kokh883] {
    color: var(--p360-text-muted);
    font-size: .85rem;
    margin: .4rem 0 0;
}

.fis-card-head[b-xj2kokh883] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .6rem;
}

/* ----- Plano de intervenção ----- */
.fis-iv-list[b-xj2kokh883] { display: flex; flex-direction: column; gap: .5rem; }

.fis-iv[b-xj2kokh883] {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    padding: .55rem .7rem;
    background: var(--p360-background);
}

.fis-iv-name[b-xj2kokh883] { font-weight: 600; display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.fis-iv-meta[b-xj2kokh883] { color: var(--p360-text-muted); font-size: .82rem; margin-top: .2rem; }
.fis-iv-obj[b-xj2kokh883] { font-size: .85rem; margin-top: .3rem; }
.fis-iv-actions[b-xj2kokh883] { display: flex; gap: .25rem; align-items: flex-start; }

.fis-badge[b-xj2kokh883] {
    font-size: .7rem;
    padding: .1rem .45rem;
    border-radius: 999px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.fis-badge--ativo[b-xj2kokh883] { background: #dcfce7; color: #166534; }
.fis-badge--suspenso[b-xj2kokh883] { background: #fef9c3; color: #854d0e; }
.fis-badge--concluido[b-xj2kokh883] { background: #e5e7eb; color: #374151; }
.fis-badge--sync[b-xj2kokh883] { background: #dbeafe; color: #1e40af; text-transform: none; }

/* ----- Dias da semana (toggle) ----- */
.fis-days[b-xj2kokh883] { display: flex; gap: .35rem; flex-wrap: wrap; }
.fis-day[b-xj2kokh883] {
    min-width: 2.6rem;
    padding: .3rem .5rem;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    background: var(--p360-surface, #fff);
    cursor: pointer;
    font-size: .8rem;
}
.fis-day--on[b-xj2kokh883] { background: var(--p360-primary, #2563eb); color: #fff; border-color: var(--p360-primary, #2563eb); }

/* ----- Recorrência (modal) ----- */
.fis-rec[b-xj2kokh883] {
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    padding: .6rem;
    background: var(--p360-background);
    margin: .2rem 0 .6rem;
}
.fis-rec-on[b-xj2kokh883] { font-weight: 600; margin-bottom: .4rem; }

/* ----- Sessões ----- */
.fis-sessions[b-xj2kokh883] { display: flex; flex-direction: column; gap: .55rem; }
.fis-session[b-xj2kokh883] {
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    padding: .55rem .7rem;
    background: var(--p360-background);
}
.fis-session-head[b-xj2kokh883] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.fis-session-date[b-xj2kokh883] { font-weight: 600; }
.fis-session-iv[b-xj2kokh883] { color: var(--p360-text-muted); font-size: .85rem; }
.fis-session-text[b-xj2kokh883] { margin-top: .35rem; font-size: .9rem; white-space: pre-wrap; }
.fis-session-acts[b-xj2kokh883] { margin-left: auto; display: flex; gap: .15rem; }
.fis-session-edit[b-xj2kokh883] { color: var(--p360-text-muted); }
.fis-session-del[b-xj2kokh883] { color: var(--p360-danger); }
/* Sessão já fixa (24 h passadas ou de outro profissional): cadeado, com a razão no title */
.fis-session-locked[b-xj2kokh883] { margin-left: auto; color: var(--p360-text-muted); font-size: .8rem; cursor: help; }

.fis-pain[b-xj2kokh883] { font-size: .82rem; font-weight: 600; }
.fis-pain--down[b-xj2kokh883] { color: #16a34a; }
.fis-pain--up[b-xj2kokh883] { color: #dc2626; }

/* ----- Resumo ----- */
.fis-summary-list[b-xj2kokh883] { margin: 0; padding-left: 1.1rem; font-size: .9rem; }
.fis-summary-list li[b-xj2kokh883] { margin: .2rem 0; }
.fis-stat[b-xj2kokh883] { display: flex; justify-content: space-between; padding: .3rem 0; border-bottom: 1px solid var(--p360-border); margin: 0; }
.fis-stat span[b-xj2kokh883] { color: var(--p360-text-muted); }
.fis-goals[b-xj2kokh883] { white-space: pre-wrap; font-size: .9rem; }
/* /Pages/Clinical/Panels/PiiPanel.razor.rz.scp.css */
.pii-muted[b-dq3hd6tayo] { color: var(--p360-text-muted); font-size: .9rem; }

.pii-section-title[b-dq3hd6tayo] {
    font-weight: 600;
    margin: .8rem 0 .25rem;
    color: var(--p360-text-muted);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.pii-actions[b-dq3hd6tayo] { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .8rem; }

/* ----- Cabeçalho ----- */
.pii-head[b-dq3hd6tayo] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
}
.pii-head-main[b-dq3hd6tayo] { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }

.pii-badge[b-dq3hd6tayo] {
    font-size: .7rem;
    padding: .12rem .5rem;
    border-radius: 999px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
}
/* Situação do plano: derivada das datas, não escolhida (ver PlanScheduleRule). */
.pii-badge--ok[b-dq3hd6tayo] { background: #dcfce7; color: #166534; }
.pii-badge--proxima[b-dq3hd6tayo] { background: #fef9c3; color: #854d0e; }
.pii-badge--atraso[b-dq3hd6tayo] { background: #fee2e2; color: #991b1b; }
.pii-badge--neutro[b-dq3hd6tayo] { background: #e5e7eb; color: #374151; }

/* ---- Intervenientes: uma pastilha por categoria profissional (lista do backoffice) ---- */
.pii-cats[b-dq3hd6tayo] { display: flex; flex-wrap: wrap; gap: .4rem; margin: .1rem 0 .6rem; }

.pii-cat[b-dq3hd6tayo] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .7rem;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font: inherit;
    font-size: .82rem;
    cursor: pointer;
    transition: background .12s, border-color .12s, color .12s;
}
.pii-cat:hover:not(:disabled)[b-dq3hd6tayo] { border-color: var(--p360-primary, #0094D2); background: var(--p360-background, #f9fafb); }
.pii-cat:disabled[b-dq3hd6tayo] { cursor: default; opacity: .7; }

.pii-cat--on[b-dq3hd6tayo] {
    border-color: var(--p360-primary, #0094D2);
    background: rgba(0, 148, 210, .08);
    color: var(--p360-primary, #0094D2);
    font-weight: 600;
}
.pii-cat--on i[b-dq3hd6tayo] { font-size: .7rem; }

/* Só as categorias marcadas pedem o nome de quem esteve. */
.pii-catnames[b-dq3hd6tayo] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: .5rem .7rem;
    padding: .6rem .7rem;
    margin-bottom: .6rem;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: .6rem;
    background: var(--p360-background, #f9fafb);
}

.pii-checks[b-dq3hd6tayo] { display: flex; flex-wrap: wrap; gap: .3rem 1.4rem; margin-bottom: .5rem; }

/* ---- Anexos ---- */
.pii-upload[b-dq3hd6tayo] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .6rem; }

/* O <input type=file> nativo é feio e não acompanha o resto; esconde-se e usa-se a etiqueta. */
.pii-filebtn[b-dq3hd6tayo] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .35rem .8rem;
    border: 1px dashed var(--p360-border, #cbd5e1);
    border-radius: .5rem;
    background: #fff;
    font-size: .84rem;
    color: var(--p360-primary, #0094D2);
    cursor: pointer;
}
.pii-filebtn:hover[b-dq3hd6tayo] { background: var(--p360-background, #f9fafb); border-color: var(--p360-primary, #0094D2); }
.pii-filebtn input[type=file][b-dq3hd6tayo] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.pii-files[b-dq3hd6tayo] { display: flex; flex-direction: column; }

.pii-file[b-dq3hd6tayo] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    padding: .45rem .2rem;
    border-top: 1px solid #f1f5f9;
    font-size: .85rem;
}
.pii-file > i[b-dq3hd6tayo] { color: var(--p360-text-muted, #6b7280); }

.pii-file__name[b-dq3hd6tayo] {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: var(--p360-primary, #0094D2);
    cursor: pointer;
    text-align: left;
}
.pii-file__name:hover[b-dq3hd6tayo] { text-decoration: underline; }

.pii-alert[b-dq3hd6tayo] { font-size: .78rem; font-weight: 600; padding: .12rem .5rem; border-radius: 999px; }
.pii-alert--danger[b-dq3hd6tayo] { background: #fee2e2; color: #991b1b; }
.pii-alert--warn[b-dq3hd6tayo] { background: #fef9c3; color: #854d0e; }

.pii-meta[b-dq3hd6tayo] { font-size: .82rem; color: var(--p360-text-muted); }
/* /Pages/Clinical/Panels/PsicologiaPanel.razor.rz.scp.css */
/* F4.5 — Psicologia: estilos do editor de registo + bloco de intervenção.
   Tokens var(--p360-*); cantos via var(--p360-radius). */

.psi-loading[b-54ixouwpqj] { color: var(--p360-text-muted); }

.psi-card-head[b-54ixouwpqj] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.psi-iv-toggle[b-54ixouwpqj] { padding: .2rem .6rem; }

.psi-readonly[b-54ixouwpqj] {
    color: var(--p360-text-muted);
    font-size: .9rem;
    margin-top: .5rem;
}

.psi-iv-box[b-54ixouwpqj] {
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    padding: .6rem;
    background: var(--p360-background);
    margin: .5rem 0;
}

.psi-iv-checks[b-54ixouwpqj] { margin-bottom: .5rem; }

.psi-save-row[b-54ixouwpqj] {
    display: flex;
    justify-content: flex-end;
    margin-top: .5rem;
}
/* /Pages/Clinical/Panels/SaidasPanel.razor.rz.scp.css */
/* Módulo Saídas na ficha do residente: lista paginada + detalhe. Tokens var(--p360-*). */

.sai-hint[b-bf6cnsli8u] { color: var(--p360-text-muted); font-size: .85rem; }

.sai-filters[b-bf6cnsli8u] {
    display: flex;
    align-items: flex-end;
    gap: .6rem;
    flex-wrap: wrap;
    margin-bottom: .6rem;
}

.sai-table td[b-bf6cnsli8u] { vertical-align: middle; }

/* A linha inteira abre o detalhe. */
.sai-row[b-bf6cnsli8u] { cursor: pointer; }

/* O motivo é texto livre e pode ser longo: corta na lista, inteiro no detalhe. */
.sai-reason[b-bf6cnsli8u] {
    max-width: 22ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sai-act[b-bf6cnsli8u] {
    padding: .15rem .5rem;
    font-size: .8rem;
    margin-left: .25rem;
}

/* Detalhe: rótulo à esquerda, valor à direita, uma linha por campo. */
.sai-dl[b-bf6cnsli8u] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: .3rem .9rem;
    margin: 0;
    font-size: .9rem;
}

.sai-dl dt[b-bf6cnsli8u] { color: var(--p360-text-muted); }
.sai-dl dd[b-bf6cnsli8u] { margin: 0; }

.sai-check[b-bf6cnsli8u] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .85rem;
    margin-top: .3rem;
}

@media (max-width: 640px) {
    .sai-reason[b-bf6cnsli8u] { max-width: 14ch; }
    .sai-dl[b-bf6cnsli8u] { grid-template-columns: 1fr; gap: .1rem .9rem; }
    .sai-dl dd[b-bf6cnsli8u] { margin-bottom: .4rem; }
}
/* /Pages/Clinical/Panels/SocialPanel.razor.rz.scp.css */
/* Estilos scoped do módulo Serviço Social. Cores e cantos via tokens var(--p360-*). */

/* Subtítulo de secção dentro de um card (Responsável jurídico / Morada). */
.sp-subhead[b-n7hpun6bfe] {
    font-weight: 600;
    margin: .75rem 0 .25rem;
    color: var(--p360-text-muted);
    font-size: .8rem;
    text-transform: uppercase;
}

/* Cabeçalho de bloco com título à esquerda e ação à direita; colapsa em ecrãs estreitos. */
.sp-toolbar[b-n7hpun6bfe] {
    flex-wrap: wrap;
    gap: .5rem;
}

/* Rodapé de cada secção: botão Guardar alinhado à direita. */
.sp-save[b-n7hpun6bfe] {
    display: flex;
    justify-content: flex-end;
}

/* Linha de documento anexado. */
.sp-doc[b-n7hpun6bfe] {
    gap: .5rem;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    padding: .5rem .6rem;
}

.sp-doc__main[b-n7hpun6bfe] {
    min-width: 0;
}

.sp-doc__name[b-n7hpun6bfe] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sp-doc__meta[b-n7hpun6bfe] {
    font-size: .8rem;
    color: var(--p360-text-muted);
}

.sp-doc__actions[b-n7hpun6bfe] {
    display: flex;
    gap: .3rem;
    flex: none;
}

/* Lista vertical de documentos. */
.sp-doc-list[b-n7hpun6bfe] {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    margin-top: .75rem;
}
/* /Pages/Clinical/PatientAvatar.razor.rz.scp.css */
/* Foto do utente: círculo recortado, dimensões vêm inline (dependem de Size). */
.pa-photo[b-o9q4vh1uyz] {
    border-radius: 50%;
    object-fit: cover;
    flex: none;
    border: 1px solid var(--p360-border);
}

/* Fallback com iniciais sobre o tom primário. Sobrepõe-se ao fundo translúcido
   herdado de .p360-header__avatar; dimensões e font-size vêm inline (dependem de Size). */
.pa-initials[b-o9q4vh1uyz] {
    background: var(--p360-primary);
    color: var(--p360-on-primary);
    flex: none;
}
/* /Pages/Clinical/PatientShell.razor.rz.scp.css */
.ps-id[b-98x8l909jn] { display: flex; align-items: center; gap: .75rem; }
.ps-name[b-98x8l909jn] { font-weight: 700; line-height: 1.2; }
.ps-sub[b-98x8l909jn] { color: var(--p360-text-muted); font-size: .85rem; }

.ps-block[b-98x8l909jn] { margin-top: .6rem; }
.ps-photo-actions[b-98x8l909jn] { margin-top: .6rem; display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.ps-photo-label[b-98x8l909jn] { padding: .2rem .55rem; cursor: pointer; font-size: .8rem; margin: 0; }
.ps-photo-del[b-98x8l909jn] { padding: .2rem .5rem; font-size: .8rem; color: var(--p360-danger); }
.ps-photo-spin[b-98x8l909jn] { font-size: .8rem; color: var(--p360-text-muted); }
.ps-photo-err[b-98x8l909jn] { margin-top: .3rem; }

.ps-card[b-98x8l909jn] { margin-top: .75rem; }
.ps-card-title[b-98x8l909jn] { font-size: .9rem; }
.ps-card-title--row[b-98x8l909jn] { display: flex; justify-content: space-between; align-items: center; }
.ps-edit-btn[b-98x8l909jn] { padding: .1rem .45rem; font-size: .78rem; margin: 0; }

.ps-ref-name[b-98x8l909jn] { overflow-wrap: anywhere; }
.ps-ref-rel[b-98x8l909jn] { color: var(--p360-text-muted); }
.ps-contact[b-98x8l909jn] { display: flex; align-items: flex-start; gap: .4rem; color: var(--p360-text-muted); font-size: .9rem; margin-top: .2rem; }
.ps-contact__icon[b-98x8l909jn] { flex: none; width: 1rem; text-align: center; margin-top: .2rem; }
.ps-contact__link[b-98x8l909jn] { color: inherit; text-decoration: none; min-width: 0; overflow-wrap: anywhere; }

.ps-back[b-98x8l909jn] { margin-top: .75rem; width: 100%; justify-content: center; }

.ps-nomod[b-98x8l909jn] { margin: 0; color: var(--p360-text-muted); }
.ps-row[b-98x8l909jn] { display: flex; gap: .75rem; }
.ps-field--grow[b-98x8l909jn] { flex: 1; }

/* (Colapso dos cartões migrado para o utilitário global .p360-coll em app.css.) */
/* /Pages/Clinical/RastreiosCard.razor.rz.scp.css */
.rs-header[b-swtoisqzil] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

/* Typeahead do "Tipo de rastreio": dropdown de sugestões sobre o campo (padrão dos medicamentos). */
.rs-typeahead[b-swtoisqzil] { position: relative; }
.rs-suggest[b-swtoisqzil] {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 30;
    background: var(--p360-surface);
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius-sm);
    box-shadow: var(--p360-shadow-lg);
    max-height: 240px;
    overflow-y: auto;
}
.rs-suggest-item[b-swtoisqzil] {
    display: block;
    width: 100%;
    text-align: left;
    padding: .45rem .6rem;
    background: none;
    border: none;
    border-bottom: 1px solid var(--p360-border);
    cursor: pointer;
    font-size: .9rem;
}
.rs-suggest-item:last-child[b-swtoisqzil] { border-bottom: none; }
.rs-suggest-item:hover[b-swtoisqzil] { background: var(--p360-background); }

.rs-title i[b-swtoisqzil] { color: var(--p360-primary, #2563eb); }

.rs-muted[b-swtoisqzil] { color: var(--p360-muted, #6b7280); }
.rs-empty[b-swtoisqzil] {
    display: block;
    color: var(--p360-muted, #6b7280);
    padding: 12px 0;
}

.rs-mt[b-swtoisqzil] { margin-top: 10px; }

.rs-list[b-swtoisqzil] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rs-item[b-swtoisqzil] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--p360-border, #e5e7eb);
    border-radius: 8px;
    background: var(--p360-surface, #fff);
}

.rs-item__main[b-swtoisqzil] { min-width: 0; flex: 1; }

.rs-item__top[b-swtoisqzil] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.rs-item__meta[b-swtoisqzil] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
    font-size: 0.82rem;
    color: var(--p360-muted, #6b7280);
}

.rs-item__meta i[b-swtoisqzil] { margin-right: 3px; }

.rs-overdue[b-swtoisqzil] { color: var(--p360-danger, #dc2626); font-weight: 600; }

.rs-result[b-swtoisqzil] {
    margin-top: 6px;
    font-size: 0.88rem;
    white-space: pre-wrap;
}

.rs-obs[b-swtoisqzil] {
    margin-top: 4px;
    font-size: 0.82rem;
    color: var(--p360-muted, #6b7280);
}

.rs-item__actions[b-swtoisqzil] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.rs-btn-sm[b-swtoisqzil] { padding: 4px 8px; }
.rs-btn-danger[b-swtoisqzil] { color: var(--p360-danger, #dc2626); }

.rs-scale i[b-swtoisqzil] { margin-right: 3px; }

.rs-form-modal[b-swtoisqzil] { max-width: 560px; }
/* /Pages/Clinical/SaudeMulherCard.razor.rz.scp.css */
.sm-header[b-j8xkcyt4tg] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.sm-muted[b-j8xkcyt4tg] { color: var(--p360-text-muted); font-size: .82rem; font-weight: 400; }
.sm-empty[b-j8xkcyt4tg] { color: var(--p360-text-muted); font-size: .9rem; }
.sm-hint[b-j8xkcyt4tg] { font-size: .76rem; color: var(--p360-text-muted); margin-top: .2rem; }
.sm-mt[b-j8xkcyt4tg] { margin-top: 1rem; }
.sm-span2[b-j8xkcyt4tg] { grid-column: 1 / -1; }
.sm-tabs[b-j8xkcyt4tg] { margin: .75rem 0 1rem; }
.sm-tw[b-j8xkcyt4tg] { overflow-x: auto; }
.sm-text[b-j8xkcyt4tg] { font-size: .88rem; color: #374151; margin: .35rem 0 0; }

.sm-note[b-j8xkcyt4tg] {
    display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
    margin-top: .85rem; padding: .6rem .8rem; font-size: .85rem;
    border-left: 3px solid var(--p360-info); background: var(--p360-info-bg);
    border-radius: 0 var(--p360-radius-sm) var(--p360-radius-sm) 0;
}

.sm-cols[b-j8xkcyt4tg] { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.sm-block[b-j8xkcyt4tg] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .85rem; }
.sm-block__head[b-j8xkcyt4tg] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .6rem; }
.sm-block__head strong[b-j8xkcyt4tg] { font-size: .95rem; }
.sm-block__head .p360-btn[b-j8xkcyt4tg] { margin-left: auto; }

/* Janela da avaliação de risco: mais larga por causa dos chips de fatores. */
.sm-risk-modal[b-j8xkcyt4tg] { max-width: 760px; display: flex; flex-direction: column; overflow: hidden; }
.sm-risk-modal .p360-modal__body[b-j8xkcyt4tg] { overflow-y: auto; }
.sm-actions[b-j8xkcyt4tg] { display: flex; gap: .5rem; justify-content: flex-end; margin-top: .85rem; flex-wrap: wrap; }
.sm-reading[b-j8xkcyt4tg] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-top: .6rem; }

.sm-dl[b-j8xkcyt4tg] { display: grid; grid-template-columns: auto 1fr; gap: .2rem .75rem; margin: 0; font-size: .88rem; }
.sm-dl dt[b-j8xkcyt4tg] { color: var(--p360-text-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; align-self: center; }
.sm-dl dd[b-j8xkcyt4tg] { margin: 0; }

.sm-check[b-j8xkcyt4tg] { display: flex; align-items: center; gap: .45rem; font-size: .88rem; cursor: pointer; }
.sm-check input[b-j8xkcyt4tg] { accent-color: var(--p360-primary); width: 15px; height: 15px; }

.sm-chips[b-j8xkcyt4tg] { display: flex; flex-wrap: wrap; gap: .35rem; }
.sm-chips--read[b-j8xkcyt4tg] { margin-top: .35rem; }
.sm-chip[b-j8xkcyt4tg] {
    border: 1px solid var(--p360-border); border-radius: 999px; padding: .2rem .65rem;
    font-size: .78rem; cursor: pointer; background: var(--p360-surface); color: var(--p360-text-muted);
    font-family: inherit;
}
.sm-chip:hover[b-j8xkcyt4tg] { color: var(--p360-text); }
.sm-chip--on[b-j8xkcyt4tg] { background: var(--p360-warning-bg); border-color: #fde68a; color: #92400e; font-weight: 600; }

.sm-list[b-j8xkcyt4tg] { display: flex; flex-direction: column; gap: .5rem; margin-top: .6rem; }
.sm-item[b-j8xkcyt4tg] {
    display: flex; gap: .6rem; align-items: flex-start;
    border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .6rem .75rem;
}
.sm-item:hover[b-j8xkcyt4tg] { background: var(--p360-background); }
.sm-item__main[b-j8xkcyt4tg] { flex: 1; min-width: 0; }
.sm-item__top[b-j8xkcyt4tg] { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }
.sm-item__meta[b-j8xkcyt4tg] { display: flex; gap: .8rem; flex-wrap: wrap; font-size: .78rem; color: var(--p360-text-muted); margin-top: .25rem; }
.sm-item__actions[b-j8xkcyt4tg] { display: flex; gap: .25rem; }

.sm-tl[b-j8xkcyt4tg] { list-style: none; margin: .75rem 0 0; padding: 0; }
.sm-tl li[b-j8xkcyt4tg] { border-left: 2px solid var(--p360-border); padding: .1rem 0 .8rem .9rem; margin-left: .3rem; position: relative; }
.sm-tl li[b-j8xkcyt4tg]::before {
    content: ""; position: absolute; left: -5px; top: .4rem; width: 8px; height: 8px;
    border-radius: 50%; background: var(--p360-primary);
}
.sm-tl__when[b-j8xkcyt4tg] { display: flex; align-items: center; gap: .4rem; font-size: .75rem; color: var(--p360-text-muted); }
.sm-tl__body[b-j8xkcyt4tg] { font-size: .88rem; white-space: pre-wrap; }
.sm-locked[b-j8xkcyt4tg] { color: var(--p360-text-muted); font-size: .75rem; }

.sm-btn-sm[b-j8xkcyt4tg] { padding: .25rem .55rem; font-size: .78rem; }
.sm-btn-danger:hover[b-j8xkcyt4tg] { color: var(--p360-danger); }
/* /Pages/Clinical/ScaleAssessmentsCard.razor.rz.scp.css */
.sa-btn-sm[b-shf3zck3d9] { padding: .2rem .6rem; }

.sa-muted[b-shf3zck3d9] { color: var(--p360-text-muted); }

/* Modais (preenchimento + gráfico) */
.sa-modal[b-shf3zck3d9] { max-width: 720px; }
.sa-chart-modal[b-shf3zck3d9] { max-width: 1000px; width: 95%; }

.sa-question[b-shf3zck3d9] { margin-top: .85rem; }

.sa-question__text[b-shf3zck3d9] {
    font-weight: 600;
    margin-bottom: .4rem;
}

/* Opções selecionáveis (substituem os radios) */
.sa-options[b-shf3zck3d9] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.sa-option[b-shf3zck3d9] {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    text-align: left;
    padding: .5rem .7rem;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    background: var(--p360-surface);
    color: var(--p360-text);
    cursor: pointer;
    transition: background .12s, border-color .12s;
}

.sa-option:hover[b-shf3zck3d9] { border-color: var(--p360-primary); }

.sa-option--on[b-shf3zck3d9] {
    border-color: var(--p360-primary);
    background: var(--p360-primary-100);
    font-weight: 600;
}

.sa-option__label[b-shf3zck3d9] { flex: 1; }

.sa-option__val[b-shf3zck3d9] {
    flex: 0 0 auto;
    min-width: 1.6rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    padding: .05rem .4rem;
    border-radius: 999px;
    background: var(--p360-background);
    color: var(--p360-text-muted);
}

.sa-option--on .sa-option__val[b-shf3zck3d9] {
    background: var(--p360-primary);
    color: #fff;
}

.sa-note[b-shf3zck3d9] { margin-top: .85rem; }

.sa-score[b-shf3zck3d9] {
    margin-top: .85rem;
    padding-top: .6rem;
    border-top: 1px solid var(--p360-border);
}

.sa-score-value[b-shf3zck3d9] { font-size: 1.15rem; }

.sa-score-max[b-shf3zck3d9] { color: var(--p360-text-muted); }

.sa-band[b-shf3zck3d9] { margin-left: .5rem; }

.sa-chart-btn[b-shf3zck3d9] { margin-left: auto; }

.sa-hint[b-shf3zck3d9] {
    color: var(--p360-text-muted);
    font-size: .82rem;
    margin-top: .25rem;
}

.sa-empty[b-shf3zck3d9] {
    color: var(--p360-text-muted);
    margin-top: .5rem;
}

.sa-group[b-shf3zck3d9] { margin-top: .85rem; }

.sa-group__head[b-shf3zck3d9] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.sa-group__latest[b-shf3zck3d9] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.sa-group__score[b-shf3zck3d9] { font-size: 1.05rem; }

.sa-delta[b-shf3zck3d9] {
    color: var(--p360-text-muted);
    font-variant-numeric: tabular-nums;
    font-size: .85rem;
}

.sa-more[b-shf3zck3d9] { margin-top: .35rem; }

.sa-table[b-shf3zck3d9] {
    margin-top: .35rem;
    width: 100%;
}

.sa-row[b-shf3zck3d9] { cursor: pointer; }

.sa-cell-date[b-shf3zck3d9] { white-space: nowrap; }

.sa-cell-score[b-shf3zck3d9] { color: var(--p360-text-muted); }

.sa-cell-by[b-shf3zck3d9] {
    color: var(--p360-text-muted);
    font-size: .85rem;
}

.sa-cell-chevron[b-shf3zck3d9] {
    text-align: right;
    color: var(--p360-text-muted);
}

.sa-detail[b-shf3zck3d9] { background: var(--p360-background); }

.sa-detail__note[b-shf3zck3d9] { margin-bottom: .4rem; }

.sa-detail__list[b-shf3zck3d9] {
    margin: 0;
    padding-left: 1.1rem;
}

.sa-detail__label[b-shf3zck3d9] { color: var(--p360-text-muted); }
/* /Pages/Clinical/TabagismoCard.razor.rz.scp.css */
.tb-header[b-7rtvblmglh] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.tb-right[b-7rtvblmglh] { margin-left: auto; }
.tb-muted[b-7rtvblmglh] { color: var(--p360-text-muted); font-size: .82rem; font-weight: 400; }
.tb-empty[b-7rtvblmglh] { color: var(--p360-text-muted); font-size: .9rem; }
.tb-hint[b-7rtvblmglh] { font-size: .76rem; color: var(--p360-text-muted); margin-top: .2rem; }
.tb-mt[b-7rtvblmglh] { margin-top: .85rem; }
.tb-span2[b-7rtvblmglh] { grid-column: 1 / -1; }
.tb-ro[b-7rtvblmglh] { background: var(--p360-background); font-weight: 600; }

/* ---- Cabeçalho: o que se lê sem abrir nada ---- */
.tb-kpis[b-7rtvblmglh] { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); margin: .85rem 0; }
.tb-kpi[b-7rtvblmglh] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .6rem .7rem; }
.tb-kpi__k[b-7rtvblmglh] { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--p360-text-muted); font-weight: 700; }
.tb-kpi__v[b-7rtvblmglh] { font-size: 1.3rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; }
.tb-kpi__v--sm[b-7rtvblmglh] { font-size: 1rem; }
.tb-kpi__u[b-7rtvblmglh] { font-size: .76rem; color: var(--p360-text-muted); }

/* ---- Os 5 A ---- */
.tb-fivea[b-7rtvblmglh] { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: .85rem; }
.tb-a[b-7rtvblmglh] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .55rem .7rem; }
.tb-a__k[b-7rtvblmglh] { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--p360-text-muted); font-weight: 700; }
.tb-a__v[b-7rtvblmglh] { font-size: .84rem; margin-top: .15rem; }
.tb-a--success[b-7rtvblmglh] { background: var(--p360-success-bg); border-color: #bbf7d0; }
.tb-a--warning[b-7rtvblmglh] { background: var(--p360-warning-bg); border-color: #fde68a; }
.tb-a--neutral[b-7rtvblmglh] { background: var(--p360-background); }

/* ---- Formulário em janela (padrão p360-modal, como Feridas e Rastreios) ---- */
.tb-form-modal[b-7rtvblmglh] { max-width: 940px; display: flex; flex-direction: column; overflow: hidden; }
.tb-form-modal .p360-modal__body[b-7rtvblmglh] { overflow-y: auto; }
.tb-form__state[b-7rtvblmglh] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .6rem; }
.tb-tabs[b-7rtvblmglh] { margin: .85rem 0; }
.tb-checks[b-7rtvblmglh] { display: grid; gap: .3rem; }
.tb-check[b-7rtvblmglh] { display: flex; align-items: flex-start; gap: .45rem; font-size: .86rem; cursor: pointer; }
.tb-check input[b-7rtvblmglh] { accent-color: var(--p360-primary); width: 15px; height: 15px; margin-top: .2rem; }

.tb-chips[b-7rtvblmglh] { display: flex; flex-wrap: wrap; gap: .35rem; }
.tb-chip[b-7rtvblmglh] {
    border: 1px solid var(--p360-border); border-radius: 999px; padding: .2rem .65rem;
    font-size: .78rem; cursor: pointer; background: var(--p360-surface); color: var(--p360-text-muted);
    font-family: inherit;
}
.tb-chip:hover[b-7rtvblmglh] { color: var(--p360-text); }
.tb-chip--on[b-7rtvblmglh] { background: var(--p360-info-bg); border-color: #bfdbfe; color: #1e40af; font-weight: 600; }

.tb-note[b-7rtvblmglh] {
    display: flex; align-items: flex-start; gap: .5rem; margin-top: .85rem; padding: .6rem .8rem;
    font-size: .85rem; border-left: 3px solid var(--p360-info); background: var(--p360-info-bg);
    border-radius: 0 var(--p360-radius-sm) var(--p360-radius-sm) 0;
}
.tb-note--warn[b-7rtvblmglh] { border-left-color: var(--p360-warning); background: var(--p360-warning-bg); }

/* ---- Histórico ---- */
.tb-hist__head[b-7rtvblmglh] { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }
.tb-tl[b-7rtvblmglh] { list-style: none; margin: .6rem 0 0; padding: 0; }
.tb-tl li[b-7rtvblmglh] {
    border-left: 2px solid var(--p360-border); padding: .1rem 0 .9rem 1rem; margin-left: .35rem;
    position: relative;
}
.tb-tl li[b-7rtvblmglh]::before {
    content: ""; position: absolute; left: -5px; top: .45rem; width: 8px; height: 8px;
    border-radius: 50%; background: var(--p360-primary);
}
.tb-tl__when[b-7rtvblmglh] { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; font-size: .78rem; color: var(--p360-text-muted); }
.tb-tl__when > span:first-of-type[b-7rtvblmglh] { color: var(--p360-text); }
.tb-tl__body[b-7rtvblmglh] { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: .85rem; margin-top: .25rem; }
.tb-tl__text[b-7rtvblmglh] { font-size: .85rem; color: #374151; margin-top: .25rem; }
.tb-tl__actions[b-7rtvblmglh] { display: flex; gap: .25rem; margin-top: .3rem; }
.tb-btn-sm[b-7rtvblmglh] { padding: .25rem .5rem; font-size: .78rem; }
.tb-btn-danger:hover[b-7rtvblmglh] { color: var(--p360-danger); }
/* /Pages/Clinical/Utentes.razor.rz.scp.css */
/* Barra de filtros/ações no topo da lista. */
.utentes-toolbar[b-g0jxgvzi4u] {
    display: flex;
    gap: .5rem;
    align-items: center;
    margin-bottom: .75rem;
}

.utentes-search[b-g0jxgvzi4u] {
    max-width: 340px;
}

/* Filtros: unidade, piso e estado. Quebram de linha em ecrã estreito em vez de encolherem até
   deixarem de se ler — são três listas com nomes compridos («Unidade Masculina · piso 1.º Esq.»). */
.utentes-filters[b-g0jxgvzi4u] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-bottom: .75rem;
}

.utentes-filters__i[b-g0jxgvzi4u] {
    color: var(--p360-text-muted);
}

.utentes-filter[b-g0jxgvzi4u] {
    width: auto;
    max-width: 15rem;
    font-size: .85rem;
    padding-top: .35rem;
    padding-bottom: .35rem;
}

/* Quantos ficaram à vista de quantos há. Só aparece com filtros ligados, que é quando a diferença
   entre a lista e o total quer dizer alguma coisa. */
.utentes-filters__count[b-g0jxgvzi4u] {
    font-size: .85rem;
    color: var(--p360-text-muted);
    white-space: nowrap;
}

.utentes-filters__clear[b-g0jxgvzi4u] {
    padding: .2rem .55rem;
    font-size: .85rem;
}

@media (max-width: 640px) {
    /* No telemóvel cada filtro ocupa a largura toda: três listas lado a lado ficavam ilegíveis. */
    .utentes-filter[b-g0jxgvzi4u] {
        flex: 1 1 100%;
        max-width: none;
    }

    .utentes-filters__i[b-g0jxgvzi4u] {
        display: none;
    }
}

/* Avatar + nome do utente na primeira coluna. */
.utentes-name[b-g0jxgvzi4u] {
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* Onde o utente está: unidade · piso · quarto · cama. Numa linha só — a coluna tem espaço de
   sobra e partir em duas linhas só engorda a tabela sem ganhar nada. Em ecrãs estreitos quem
   trata disto é a regra mobile de .p360-table, que faz a tabela deslizar na horizontal. */
.utentes-location[b-g0jxgvzi4u] {
    white-space: nowrap;
}

/* Coluna de ações alinhada à direita. */
.utentes-actions-cell[b-g0jxgvzi4u] {
    text-align: right;
    white-space: nowrap;
}

.utentes-restore-btn[b-g0jxgvzi4u] {
    padding: .2rem .55rem;
    color: var(--p360-primary-700);
}

.utentes-rowbtn[b-g0jxgvzi4u] {
    padding: .2rem .55rem;
}

/* Linha de campos lado a lado nos modais. */
.utentes-row[b-g0jxgvzi4u] {
    display: flex;
    gap: .75rem;
}

/* Sub-título de secção dentro do modal de admissão. */
.utentes-section-title[b-g0jxgvzi4u] {
    font-weight: 600;
    margin: .5rem 0 .25rem;
    color: var(--p360-text-muted);
    font-size: .8rem;
    text-transform: uppercase;
}

.utentes-field-hint[b-g0jxgvzi4u] {
    font-weight: 400;
    color: var(--p360-text-muted);
}

.utentes-field-warn[b-g0jxgvzi4u] {
    color: var(--p360-danger);
    font-size: .8rem;
}

/* Linha editável de um documento de identificação (tipo + nº + validade + emissor + remover). */
/* Uma linha por documento. Larguras proporcionais ao conteúdo real: o tipo é a etiqueta mais comprida
   ("Título / Autorização de Residência") e estava a ficar truncado num campo mais estreito que a data. */
.utentes-doc-row[b-g0jxgvzi4u] {
    display: grid;
    grid-template-columns: minmax(11rem, 1.6fr) minmax(7rem, 1fr) minmax(8.5rem, .9fr) minmax(7rem, 1fr) auto;
    gap: .5rem;
    align-items: end;
    margin-bottom: .4rem;
}

.utentes-doc-row .p360-field[b-g0jxgvzi4u] { margin: 0; min-width: 0; }

/* O select tem de caber a opção mais longa sem cortar, e o texto não pode esbarrar na seta. */
.utentes-doc-type select[b-g0jxgvzi4u] {
    width: 100%;
    text-overflow: ellipsis;
    padding-right: 1.8rem;
}

@media (max-width: 760px) {
    /* Em ecrã estreito a linha passa a duas: tipo e número em cima, validade e emissor por baixo. */
    .utentes-doc-row[b-g0jxgvzi4u] {
        grid-template-columns: 1fr 1fr auto;
    }

    .utentes-doc-type[b-g0jxgvzi4u] { grid-column: 1 / 3; }
    .utentes-doc-del[b-g0jxgvzi4u] { grid-row: 1; grid-column: 3; }
}

.utentes-doc-del[b-g0jxgvzi4u] {
    color: var(--p360-danger);
    margin-bottom: .35rem;
}

.utentes-doc-add[b-g0jxgvzi4u] {
    margin-top: .25rem;
}

/* ---- Receita eletrónica na ficha (P.3) ---- */
/* O registo no MyBlueBee vive aqui, com o nº de utente de que depende, e não num ecrã à parte: ter uma ficha
   de utente e depois outro sítio para a completar é pedir que fique por completar. */
.utentes-mbb[b-g0jxgvzi4u] {
    padding: .7rem .85rem;
    border-radius: var(--p360-radius);
    background: var(--p360-background);
    font-size: .85rem;
    line-height: 1.5;
}

.utentes-mbb__ok[b-g0jxgvzi4u] {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--p360-success);
}

.utentes-mbb__falta p[b-g0jxgvzi4u] {
    margin: 0 0 .6rem;
    color: var(--p360-text-muted);
}

/* Saída para residentes que já existiam no MyBlueBee: recolhida, para não competir com o caminho normal. */
.utentes-mbb__manual[b-g0jxgvzi4u] {
    margin-top: .6rem;
    font-size: .8rem;
}

.utentes-mbb__manual > summary[b-g0jxgvzi4u] {
    cursor: pointer;
    color: var(--p360-text-muted);
}

.utentes-mbb__manual-row[b-g0jxgvzi4u] {
    display: flex;
    gap: .5rem;
    align-items: center;
    margin-top: .45rem;
}

.utentes-mbb__manual-row .p360-input[b-g0jxgvzi4u] { max-width: 190px; }

/* Aviso do atalho clínico (F7.14): chegou-se aqui para escolher de quem é o módulo. */
.utentes-para[b-g0jxgvzi4u] {
    display: flex; align-items: center; gap: .6rem; flex-wrap: wrap;
    margin-bottom: .75rem; border-left: 4px solid var(--p360-info);
    background: var(--p360-info-bg); color: #1e3a8a;
}
.utentes-para i[b-g0jxgvzi4u] { color: var(--p360-info); }
.utentes-para__x[b-g0jxgvzi4u] { margin-left: auto; }
/* /Pages/Clinical/VitalSignsCard.razor.rz.scp.css */
.vs-header[b-mapc3h9382] { display: flex; justify-content: space-between; align-items: center; }
.vs-header .p360-card__title[b-mapc3h9382] { margin: 0; }
.vs-btn-sm[b-mapc3h9382] { padding: .2rem .6rem; }
.vs-muted[b-mapc3h9382] { color: var(--p360-text-muted); }
.vs-modal[b-mapc3h9382] { max-width: 760px; }
.vs-grid[b-mapc3h9382] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; }
.vs-note[b-mapc3h9382] { margin-top: .5rem; }
.vs-hint[b-mapc3h9382] { color: var(--p360-text-muted); font-size: .82rem; margin-top: .25rem; }
.vs-empty[b-mapc3h9382] { color: var(--p360-text-muted); margin-top: .5rem; }

/* Cards por parâmetro */
.vs-cards[b-mapc3h9382] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .75rem; margin-top: .85rem; }
.vs-card[b-mapc3h9382] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .65rem .75rem; background: var(--p360-surface, #fff); cursor: pointer; transition: box-shadow .15s, border-color .15s; }
.vs-card:hover[b-mapc3h9382] { box-shadow: var(--p360-shadow); border-color: var(--p360-primary); }
.vs-card__hint[b-mapc3h9382] { font-size: .72rem; color: var(--p360-text-muted); margin-top: .35rem; opacity: 0; transition: opacity .15s; }
.vs-card:hover .vs-card__hint[b-mapc3h9382] { opacity: 1; }
.vs-card__head[b-mapc3h9382] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.vs-card__name[b-mapc3h9382] { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 500; color: var(--p360-text); }
.vs-card__value[b-mapc3h9382] { font-size: 1.6rem; font-weight: 700; line-height: 1.2; margin-top: .25rem; }
.vs-card__unit[b-mapc3h9382] { font-size: .85rem; font-weight: 500; color: var(--p360-text-muted); }
.vs-card__delta[b-mapc3h9382] { font-size: .8rem; color: var(--p360-text-muted); margin-bottom: .15rem; }

/* Tabela */
.vs-table-wrap[b-mapc3h9382] { overflow-x: auto; margin-top: .85rem; }
.vs-table[b-mapc3h9382] { width: 100%; }
.vs-date[b-mapc3h9382] { white-space: nowrap; }
.vs-by[b-mapc3h9382] { color: var(--p360-text-muted); font-size: .82rem; white-space: nowrap; }

/* Paginação */
.vs-pager[b-mapc3h9382] { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: .6rem; }
.vs-pager__info[b-mapc3h9382] { color: var(--p360-text-muted); font-size: .82rem; }

/* Modal do gráfico */
.vs-chart-modal[b-mapc3h9382] { max-width: 1000px; width: 95%; }

/* Nota da medição (PIS-091): linha própria por baixo da medição, sem borda entre as duas.
   O texto fica preso à esquerda (sticky) para continuar legível quando há muitos parâmetros
   e a tabela é mais larga que o ecrã. */
.vs-row--noted > td[b-mapc3h9382] { border-bottom: 0; }
.vs-note-row > td[b-mapc3h9382] { padding-top: 0; }
.vs-obs[b-mapc3h9382] {
    position: sticky; left: 0;
    width: max-content; max-width: min(72ch, 100%);
    color: var(--p360-text-muted); font-size: .82rem; white-space: pre-line;
}
.vs-obs i[b-mapc3h9382] { margin-right: .3rem; }
/* /Pages/Clinical/WoundsCard.razor.rz.scp.css */
.wd-header[b-cedfbxw339] { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem; }
.wd-title[b-cedfbxw339] { margin: 0; }
.wd-muted[b-cedfbxw339] { color: var(--p360-text-muted); }

.wd-mt[b-cedfbxw339] { margin-top: .5rem; }
.wd-mt-sm[b-cedfbxw339] { margin-top: .4rem; }

/* ---- Formulário (modal) ---- */
.wd-form-modal[b-cedfbxw339] { max-width: 940px; display: flex; flex-direction: column; overflow: hidden; }
.wd-form-modal .p360-modal__body[b-cedfbxw339] { overflow-y: auto; }
.wd-time3[b-cedfbxw339] { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }

.wd-dim[b-cedfbxw339] { display: flex; gap: .5rem; flex-wrap: wrap; }
.wd-dim__field[b-cedfbxw339] { flex: 1; min-width: 90px; }
.wd-dim__field--wide[b-cedfbxw339] { flex: 1.6; min-width: 150px; }

.wd-pct[b-cedfbxw339] { width: 58px; padding: .15rem .35rem; margin-left: .15rem; }
.wd-eva[b-cedfbxw339] { width: 100%; max-width: 320px; display: block; }

/* TIME: agrupamento do formulário e etiquetas coloridas */
.wd-time-group[b-cedfbxw339] { padding: .4rem .5rem; border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); }
.wd-time-tag[b-cedfbxw339] { display: inline-flex; width: 18px; height: 18px; border-radius: 4px; align-items: center; justify-content: center; font-size: .7rem; font-weight: 700; margin-right: .3rem; vertical-align: middle; }
.wd-time-tag--t[b-cedfbxw339] { background: #d6f0e4; color: #0f6e56; }
.wd-time-tag--i[b-cedfbxw339] { background: #fbd9d9; color: #911e1e; }
.wd-time-tag--m[b-cedfbxw339] { background: #cfe2f8; color: #0c447c; }
.wd-time-tag--e[b-cedfbxw339] { background: #d9d6f6; color: #3c3489; }

/* Foto no formulário */
.wd-photo-pick[b-cedfbxw339] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.wd-photo-pick__preview[b-cedfbxw339] { width: 96px; height: 96px; object-fit: cover; border-radius: var(--p360-radius-sm); border: 1px solid var(--p360-border); }
.wd-photo-pick__label[b-cedfbxw339] { cursor: pointer; }
.wd-photo-pick__hint[b-cedfbxw339] { font-size: .78rem; }

/* ---- Lista de feridas ---- */
.wd-list[b-cedfbxw339] { display: flex; flex-direction: column; gap: .6rem; margin-top: .75rem; }
.wd-empty[b-cedfbxw339] { color: var(--p360-text-muted); font-size: .9rem; }

.wd-item[b-cedfbxw339] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .6rem .75rem; }
.wd-item--active[b-cedfbxw339] { border-left: 4px solid var(--p360-danger); }
.wd-item--healed[b-cedfbxw339] { border-left: 4px solid var(--p360-success); }

.wd-item__head[b-cedfbxw339] { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; }
.wd-item__meta[b-cedfbxw339] { font-size: .8rem; color: var(--p360-text-muted); margin-top: .2rem; }
.wd-item__actions[b-cedfbxw339] { display: flex; gap: .3rem; flex: none; }

.wd-status[b-cedfbxw339] { margin-left: .4rem; }
.wd-tag[b-cedfbxw339] { margin-left: .2rem; }

.wd-btn-sm[b-cedfbxw339] { padding: .15rem .5rem; }
.wd-btn-danger[b-cedfbxw339] { color: var(--p360-danger); }

/* ---- Detalhe (expandido) ---- */
.wd-detail[b-cedfbxw339] { margin-top: .6rem; border-top: 1px solid var(--p360-border); padding-top: .6rem; }
.wd-detail__top[b-cedfbxw339] { display: grid; grid-template-columns: 168px 1fr; gap: .75rem; }

/* Foto + miniaturas */
.wd-photo[b-cedfbxw339] { display: flex; flex-direction: column; gap: .4rem; }
.wd-photo__frame[b-cedfbxw339] { position: relative; padding: 0; border: 1px solid var(--p360-border); border-radius: var(--p360-radius-sm); overflow: hidden; cursor: zoom-in; background: var(--p360-background); }
.wd-photo__img[b-cedfbxw339] { width: 100%; height: 128px; object-fit: cover; display: block; }
.wd-photo__dim[b-cedfbxw339] { position: absolute; bottom: 4px; right: 4px; background: rgba(0,0,0,.6); color: #fff; font-size: .72rem; padding: 1px 6px; border-radius: 4px; }
.wd-photo__empty[b-cedfbxw339] { height: 128px; border: 1px dashed var(--p360-border); border-radius: var(--p360-radius-sm); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; color: var(--p360-text-muted); font-size: .8rem; }
.wd-thumbs[b-cedfbxw339] { display: flex; gap: .3rem; }
.wd-thumb[b-cedfbxw339] { width: 38px; height: 38px; padding: 0; border: 1px solid var(--p360-border); border-radius: 4px; overflow: hidden; cursor: pointer; background: var(--p360-background); color: var(--p360-text-muted); }
.wd-thumb img[b-cedfbxw339] { width: 100%; height: 100%; object-fit: cover; display: block; }

/* RESVECH + métricas */
.wd-metrics[b-cedfbxw339] { display: flex; flex-direction: column; gap: .5rem; }
.wd-resvech[b-cedfbxw339] { display: flex; align-items: center; gap: .6rem; }
.wd-resvech__score[b-cedfbxw339] { font-size: 1.7rem; font-weight: 700; line-height: 1; }
.wd-resvech__score span[b-cedfbxw339] { font-size: .8rem; font-weight: 500; color: var(--p360-text-muted); }
.wd-resvech__meta[b-cedfbxw339] { font-size: .82rem; }
.wd-sev-success[b-cedfbxw339] { color: var(--p360-success); }
.wd-sev-warning[b-cedfbxw339] { color: var(--p360-warning); }
.wd-sev-danger[b-cedfbxw339] { color: var(--p360-danger); }
.wd-delta[b-cedfbxw339] { font-size: .78rem; }
.wd-delta--down[b-cedfbxw339] { color: var(--p360-success); }
.wd-delta--up[b-cedfbxw339] { color: var(--p360-danger); }

.wd-metricrow[b-cedfbxw339] { display: flex; gap: .5rem; flex-wrap: wrap; }
.wd-metric[b-cedfbxw339] { background: var(--p360-background); border-radius: var(--p360-radius-sm); padding: .35rem .55rem; min-width: 72px; }
.wd-metric span[b-cedfbxw339] { display: block; font-size: .72rem; color: var(--p360-text-muted); }
.wd-metric strong[b-cedfbxw339] { font-size: .95rem; }

/* Blocos TIME (leitura) */
.wd-time-blocks[b-cedfbxw339] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin-top: .6rem; }
.wd-tb[b-cedfbxw339] { background: var(--p360-background); border-radius: var(--p360-radius-sm); padding: .4rem .55rem; }
.wd-tb__head[b-cedfbxw339] { font-size: .78rem; color: var(--p360-text-muted); margin-bottom: .3rem; }
.wd-chips[b-cedfbxw339] { display: flex; flex-wrap: wrap; gap: .25rem; }
.wd-badge-edge[b-cedfbxw339] { background: #d9d6f6; color: #3c3489; }
.wd-badge-skin[b-cedfbxw339] { background: #d9d6f6; color: #3c3489; }

.wd-dressing[b-cedfbxw339] { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; margin-top: .5rem; }
.wd-obs[b-cedfbxw339] { white-space: pre-line; margin-top: .5rem; font-size: .88rem; }
.wd-obs--sm[b-cedfbxw339] { font-size: .82rem; margin-top: .2rem; }

/* Timeline / histórico */
.wd-timeline[b-cedfbxw339] { margin-top: .6rem; border-top: 1px solid var(--p360-border); padding-top: .5rem; display: flex; flex-direction: column; gap: .4rem; }
.wd-timeline__title[b-cedfbxw339] { font-size: .8rem; font-weight: 600; color: var(--p360-text-muted); }
.wd-assess[b-cedfbxw339] { font-size: .85rem; }
.wd-assess__line[b-cedfbxw339] { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; }
.wd-assess__photo[b-cedfbxw339] { padding: .05rem .35rem; border: 1px solid var(--p360-border); border-radius: 4px; background: var(--p360-background); color: var(--p360-text-muted); cursor: pointer; }

/* Modal de comparação */
.wd-compare[b-cedfbxw339] { max-width: 760px; }
.wd-compare__body[b-cedfbxw339] { display: flex; gap: .75rem; flex-wrap: wrap; }
.wd-compare__fig[b-cedfbxw339] { flex: 1; min-width: 240px; margin: 0; }
.wd-compare__fig img[b-cedfbxw339] { width: 100%; border-radius: var(--p360-radius-sm); border: 1px solid var(--p360-border); }
.wd-compare__fig figcaption[b-cedfbxw339] { font-size: .82rem; color: var(--p360-text-muted); margin-top: .3rem; text-align: center; }

@media (max-width: 640px) {
    .wd-detail__top[b-cedfbxw339] { grid-template-columns: 1fr; }
    .wd-time-blocks[b-cedfbxw339] { grid-template-columns: 1fr; }
}

/* Plano de pensos (PIS-093): resumo na linha da ferida + janela da recorrência */
.wd-plan[b-cedfbxw339] { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; margin-top: .3rem; font-size: .82rem; color: var(--p360-text); }
.wd-plan i[b-cedfbxw339] { color: var(--p360-text-muted); }
.wd-plan__when[b-cedfbxw339] { font-weight: 500; }
.wd-plan__who[b-cedfbxw339] { color: var(--p360-text-muted); }
.wd-plan-modal[b-cedfbxw339] { max-width: 620px; }
.wd-plan-rec[b-cedfbxw339] { border: 1px solid var(--p360-border); border-radius: var(--p360-radius); padding: .6rem .7rem; margin-top: .6rem; }
.wd-plan-hint[b-cedfbxw339] { color: var(--p360-text-muted); font-size: .82rem; margin: .5rem 0 0; }
/* Dias da semana: molde dos botões das Terapias (fis-day) */
.wd-days[b-cedfbxw339] { display: flex; flex-wrap: wrap; gap: .3rem; }
.wd-day[b-cedfbxw339] { border: 1px solid var(--p360-border); background: var(--p360-surface, #fff); color: var(--p360-text); border-radius: var(--p360-radius-sm); padding: .25rem .55rem; font-size: .82rem; cursor: pointer; }
.wd-day--on[b-cedfbxw339] { background: var(--p360-primary); border-color: var(--p360-primary); color: #fff; }
/* /Pages/Communication/Mural.razor.rz.scp.css */
/* Mural de informações (F7.15). */
.mu-head[b-jk0yjw0saa] { align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.mu-title[b-jk0yjw0saa] { margin: 0; font-size: 1.15rem; display: flex; align-items: center; gap: .5rem; }
.mu-title i[b-jk0yjw0saa] { color: var(--p360-primary); }
.mu-muted[b-jk0yjw0saa] { color: var(--p360-text-muted); font-size: .85rem; margin: .25rem 0 0; max-width: 70ch; }

.mu-bar[b-jk0yjw0saa] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap; }
.mu-counts[b-jk0yjw0saa] { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; }
.mu-archive[b-jk0yjw0saa] { padding: .2rem .6rem; font-size: .8rem; font-weight: 500; }

.mu-warn[b-jk0yjw0saa] {
    padding: .6rem .8rem;
    margin-bottom: .5rem;
    border: 1px solid var(--p360-warning);
    border-radius: 8px;
    background: var(--p360-warning-bg);
    color: #92400e;
    font-size: .85rem;
}
.mu-warn i[b-jk0yjw0saa] { margin-right: .4rem; }

.mu-empty[b-jk0yjw0saa] { padding: .5rem 0 0; }

/* Ações de cada aviso: discretas, dentro do rodapé da linha. */
.mu-act[b-jk0yjw0saa] {
    border: 0; background: transparent; padding: 0; cursor: pointer;
    font: inherit; font-size: .75rem; color: var(--p360-primary-700);
    display: inline-flex; align-items: center; gap: .25rem;
}
.mu-act:hover[b-jk0yjw0saa] { text-decoration: underline; }
.mu-act--danger[b-jk0yjw0saa] { color: var(--p360-danger); }

/* ---- Formulário (em janela) ---- */
.mu-form[b-jk0yjw0saa] { max-height: 90vh; display: flex; flex-direction: column; }
.mu-form .p360-modal__body[b-jk0yjw0saa] { overflow: auto; }
.mu-grid[b-jk0yjw0saa] { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .8rem; }
.mu-hint[b-jk0yjw0saa] { display: block; font-size: .75rem; color: var(--p360-text-muted); margin-top: .2rem; }
.mu-hint--rule[b-jk0yjw0saa] { margin-top: .7rem; }
.mu-hint--rule i[b-jk0yjw0saa] { margin-right: .3rem; }

.mu-file[b-jk0yjw0saa] { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.mu-file__pick[b-jk0yjw0saa] { position: relative; overflow: hidden; cursor: pointer; }
.mu-file__pick[b-jk0yjw0saa]  input[type="file"] { display: none; }
.mu-file__name[b-jk0yjw0saa] {
    font-size: .78rem; color: var(--p360-text-muted);
    max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.mu-roles[b-jk0yjw0saa] { display: flex; gap: .35rem; flex-wrap: wrap; }
.mu-chip[b-jk0yjw0saa] {
    border: 1px solid var(--p360-border); background: var(--p360-surface);
    color: var(--p360-text); font: inherit; font-size: .78rem;
    padding: .15rem .6rem; border-radius: 999px; cursor: pointer;
}
.mu-chip--on[b-jk0yjw0saa] { background: var(--p360-primary-100); border-color: var(--p360-primary); color: var(--p360-primary-700); font-weight: 600; }

.mu-check[b-jk0yjw0saa] { display: flex; gap: .45rem; align-items: center; font-size: .85rem; margin: .6rem 0; }
.mu-check input[b-jk0yjw0saa] { accent-color: var(--p360-primary); }

.mu-actions[b-jk0yjw0saa] { display: flex; gap: .5rem; flex-wrap: wrap; }
/* /Pages/Farmacia.razor.rz.scp.css */
/* ===== Ligar ao INFARMED (P.1) — bloco da receita eletrónica na ficha do medicamento ===== */

/* Lê-se como uma secção à parte dentro do formulário, porque é: os outros campos são do circuito
   interno do lar, estes são a costura ao catálogo oficial. */
.p360-infarmed[b-yzoi0v2lu8] {
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    background: var(--p360-background);
    padding: .75rem .85rem;
    margin: .25rem 0 .75rem;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.p360-infarmed__head[b-yzoi0v2lu8] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.p360-infarmed__title[b-yzoi0v2lu8] {
    font-weight: 600;
    font-size: .9rem;
}

.p360-infarmed__hint[b-yzoi0v2lu8] {
    margin: 0;
    font-size: .8rem;
    line-height: 1.45;
    color: var(--p360-text-muted);
}

.p360-infarmed__warn[b-yzoi0v2lu8] {
    margin: 0;
    font-size: .8rem;
    line-height: 1.45;
    color: var(--p360-warning);
    background: var(--p360-warning-bg);
    border-radius: var(--p360-radius-sm);
    padding: .4rem .55rem;
}

/* ---- Já ligado ---- */
.p360-infarmed__linked[b-yzoi0v2lu8] {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    background: var(--p360-surface);
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius-sm);
    padding: .5rem .65rem;
}

.p360-infarmed__linked > div:first-child[b-yzoi0v2lu8] {
    flex: 1;
    min-width: 0;
}

.p360-infarmed__meta[b-yzoi0v2lu8] {
    display: block;
    font-size: .78rem;
    color: var(--p360-text-muted);
    /* Os números da embalagem alinham-se em coluna quando se comparam dois medicamentos. */
    font-variant-numeric: tabular-nums;
}

.p360-infarmed__actions[b-yzoi0v2lu8] {
    display: flex;
    gap: .35rem;
    flex: none;
}

/* ---- Pesquisa ---- */
.p360-infarmed__search[b-yzoi0v2lu8] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    border-top: 1px solid var(--p360-border);
    padding-top: .6rem;
}

.p360-infarmed__list[b-yzoi0v2lu8] {
    list-style: none;
    margin: 0;
    padding: 0;
    /* A lista rola dentro de si: uma pesquisa larga não pode empurrar o rodapé do modal para fora do ecrã. */
    max-height: 15rem;
    overflow-y: auto;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius-sm);
    background: var(--p360-surface);
}

.p360-infarmed__list li + li[b-yzoi0v2lu8] {
    border-top: 1px solid var(--p360-border);
}

.p360-infarmed__item[b-yzoi0v2lu8] {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: .5rem .65rem;
    cursor: pointer;
    font: inherit;
    color: inherit;
}

.p360-infarmed__item:hover:not(:disabled)[b-yzoi0v2lu8] {
    background: var(--p360-primary-100);
}

.p360-infarmed__item:focus-visible[b-yzoi0v2lu8] {
    outline: 2px solid var(--p360-primary);
    outline-offset: -2px;
}

.p360-infarmed__item:disabled[b-yzoi0v2lu8] {
    opacity: .55;
    cursor: default;
}

.p360-infarmed__item-name[b-yzoi0v2lu8] {
    display: block;
    font-size: .85rem;
    line-height: 1.35;
}

.p360-infarmed__item-code[b-yzoi0v2lu8] {
    display: block;
    font-size: .75rem;
    color: var(--p360-text-muted);
    font-variant-numeric: tabular-nums;
}

/* Botão pequeno: só existe aqui, e não vale um token novo no design system por causa de três usos. */
.p360-infarmed .p360-btn--sm[b-yzoi0v2lu8] {
    padding: .3rem .6rem;
    font-size: .8rem;
    align-self: flex-start;
}

@media (max-width: 640px) {
    .p360-infarmed__linked[b-yzoi0v2lu8] {
        align-items: flex-start;
    }

    .p360-infarmed__actions[b-yzoi0v2lu8] {
        width: 100%;
    }

    .p360-infarmed__actions .p360-btn[b-yzoi0v2lu8] {
        flex: 1;
    }
}

/* =====================================================================
   Receção (F5.17)
   ===================================================================== */

.rec-kpis[b-yzoi0v2lu8] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .6rem;
    margin-bottom: .8rem;
}

.rec-kpi[b-yzoi0v2lu8] {
    background: var(--p360-surface);
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    box-shadow: var(--p360-shadow);
    padding: .7rem .85rem;
}

.rec-kpi__label[b-yzoi0v2lu8] {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--p360-text-muted);
    font-weight: 600;
}

.rec-kpi__value[b-yzoi0v2lu8] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.25;
    margin-top: .15rem;
}

.rec-kpi__hint[b-yzoi0v2lu8] {
    font-size: .75rem;
    color: var(--p360-text-muted);
}

.rec-kpi--alert .rec-kpi__value[b-yzoi0v2lu8] { color: var(--p360-danger); }
.rec-kpi--warn .rec-kpi__value[b-yzoi0v2lu8] { color: var(--p360-warning); }

/* Uma receita à espera. A cor da barra da esquerda diz o estado sem ser preciso ler. */
.rec-rx[b-yzoi0v2lu8] {
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    background: var(--p360-surface);
    margin-bottom: .6rem;
    overflow: hidden;
}

.rec-rx--late[b-yzoi0v2lu8] { border-left: 3px solid var(--p360-danger); }
.rec-rx--partial[b-yzoi0v2lu8] { border-left: 3px solid var(--p360-warning); }

/* Caducada não é urgente: é para resolver, e a cor não deve competir com o atraso a vermelho. */
.rec-rx--expired[b-yzoi0v2lu8] {
    border-left: 3px solid var(--p360-text-muted);
    background: var(--p360-background);
}

.rec-rx--expired .rec-rx__who[b-yzoi0v2lu8] { color: var(--p360-text-muted); }

.rec-rx__head[b-yzoi0v2lu8] {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .6rem .85rem;
    flex-wrap: wrap;
}

.rec-rx__who[b-yzoi0v2lu8] { font-weight: 600; }

.rec-rx__meta[b-yzoi0v2lu8] {
    font-size: .78rem;
    color: var(--p360-text-muted);
    line-height: 1.4;
}

.rec-rx__lines[b-yzoi0v2lu8] {
    border-top: 1px solid var(--p360-border);
    background: var(--p360-background);
    padding: .2rem .85rem .5rem;
}

.rec-line[b-yzoi0v2lu8] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .4rem 0;
    border-bottom: 1px dashed var(--p360-border);
    font-size: .86rem;
    flex-wrap: wrap;
}

.rec-line:last-child[b-yzoi0v2lu8] { border-bottom: none; }

.rec-line__name[b-yzoi0v2lu8] { flex: 1; min-width: 160px; }

.rec-line__name small[b-yzoi0v2lu8] {
    display: block;
    color: var(--p360-text-muted);
    font-size: .76rem;
}

.rec-bar[b-yzoi0v2lu8] {
    height: 5px;
    border-radius: 999px;
    background: var(--p360-background-2);
    overflow: hidden;
    width: 110px;
    flex: none;
}

.rec-bar__fill[b-yzoi0v2lu8] { height: 100%; background: var(--p360-success); }
.rec-bar__fill--part[b-yzoi0v2lu8] { background: var(--p360-warning); }

.rec-qty[b-yzoi0v2lu8] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.rec-muted[b-yzoi0v2lu8] { color: var(--p360-text-muted); }

.rec-history[b-yzoi0v2lu8] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: .4rem 0 .1rem;
    border-top: 1px dashed var(--p360-border);
}

.rec-history__item[b-yzoi0v2lu8] {
    font-size: .78rem;
    color: var(--p360-text-muted);
}

.rec-undo[b-yzoi0v2lu8] {
    background: none;
    border: none;
    color: var(--p360-danger);
    font-size: .76rem;
    cursor: pointer;
    padding: 0 .25rem;
    text-decoration: underline;
}

.rec-undo:disabled[b-yzoi0v2lu8] { opacity: .45; cursor: not-allowed; }

.rec-note[b-yzoi0v2lu8] {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    background: var(--p360-info-bg);
    color: #1e40af;
    border-radius: var(--p360-radius-sm);
    padding: .55rem .75rem;
    font-size: .83rem;
    line-height: 1.5;
    margin-top: .8rem;
}

.rec-alert[b-yzoi0v2lu8] {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    border-radius: var(--p360-radius-sm);
    padding: .55rem .75rem;
    font-size: .83rem;
    line-height: 1.5;
    margin-bottom: .7rem;
}

.rec-alert--warn[b-yzoi0v2lu8] { background: var(--p360-warning-bg); color: #92400e; }
.rec-alert--info[b-yzoi0v2lu8] { background: var(--p360-info-bg); color: #1e40af; }

/* Stepper das embalagens a receber. Irmão do da ronda de prescrição, mas aqui o valor pode ultrapassar
   o pedido de propósito (receber a mais é possível), e nesse caso pinta-se para se ver. */
.rec-stepper[b-yzoi0v2lu8] {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius-sm);
    overflow: hidden;
}

.rec-stepper button[b-yzoi0v2lu8] {
    border: none;
    background: var(--p360-background);
    width: 26px;
    height: 28px;
    cursor: pointer;
    color: var(--p360-text);
    font-size: .95rem;
}

.rec-stepper button:hover[b-yzoi0v2lu8] { background: var(--p360-background-2); }

.rec-stepper .v[b-yzoi0v2lu8] {
    min-width: 40px;
    text-align: center;
    font-variant-numeric: tabular-nums;
    font-size: .88rem;
}

.rec-stepper .v--over[b-yzoi0v2lu8] {
    color: var(--p360-warning);
    font-weight: 700;
}

@media (max-width: 640px) {
    .rec-rx__head[b-yzoi0v2lu8] { align-items: flex-start; }
    .rec-bar[b-yzoi0v2lu8] { display: none; }
}

.rec-vazio[b-yzoi0v2lu8] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: 1.6rem 1rem;
    color: var(--p360-text-muted);
    font-size: .9rem;
}

/* Linha do modal de receção que não se está a receber: continua visível (o medicamento faz parte da
   receita) mas apagada, para o olho ir direito às que interessam. */
.rec-row--skipped[b-yzoi0v2lu8] { opacity: .5; }

/* =====================================================================
   Leitura da caixa (F5.18)
   ===================================================================== */

/* A caixa de leitura muda de cor conforme o que aconteceu: à espera, reconhecido, desconhecido, ilegível.
   É o estado que a farmacêutica lê de relance, com a caixa ainda na mão. */
.scan-box[b-yzoi0v2lu8] {
    display: flex;
    align-items: center;
    gap: .9rem;
    border: 2px dashed var(--p360-primary);
    border-radius: var(--p360-radius);
    background: var(--p360-primary-100);
    padding: .9rem;
    margin-bottom: .85rem;
}

.scan-box__icon[b-yzoi0v2lu8] {
    width: 44px;
    height: 44px;
    border-radius: var(--p360-radius-sm);
    background: var(--p360-primary);
    color: var(--p360-on-primary);
    display: grid;
    place-items: center;
    font-size: 1.25rem;
    flex: none;
}

.scan-box__body[b-yzoi0v2lu8] { flex: 1; min-width: 0; }

.scan-box__input[b-yzoi0v2lu8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .95rem;
}

.scan-box__body small[b-yzoi0v2lu8] {
    display: block;
    margin-top: .3rem;
    font-size: .76rem;
    color: var(--p360-primary-700);
}

.scan-box--ok[b-yzoi0v2lu8] { border-style: solid; border-color: var(--p360-success); background: var(--p360-success-bg); }
.scan-box--ok .scan-box__icon[b-yzoi0v2lu8] { background: var(--p360-success); }
.scan-box--ok .scan-box__body small[b-yzoi0v2lu8] { color: #166534; }

.scan-box--unknown[b-yzoi0v2lu8] { border-color: var(--p360-warning); background: var(--p360-warning-bg); }
.scan-box--unknown .scan-box__icon[b-yzoi0v2lu8] { background: var(--p360-warning); }
.scan-box--unknown .scan-box__body small[b-yzoi0v2lu8] { color: #92400e; }

.scan-box--error[b-yzoi0v2lu8] { border-style: solid; border-color: var(--p360-danger); background: var(--p360-danger-bg); }
.scan-box--error .scan-box__icon[b-yzoi0v2lu8] { background: var(--p360-danger); }
.scan-box--error .scan-box__body small[b-yzoi0v2lu8] { color: #991b1b; }

/* O que se leu, em texto legível. A cadeia crua fica para quando a leitura falha. */
.scan-read[b-yzoi0v2lu8] {
    font-size: .86rem;
    padding: .5rem .7rem;
    background: var(--p360-background);
    border-radius: var(--p360-radius-sm);
    margin-bottom: .7rem;
}

.scan-read__label[b-yzoi0v2lu8] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
    color: var(--p360-text-muted);
    margin-right: .5rem;
}

.scan-raw[b-yzoi0v2lu8] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .76rem;
    background: #111827;
    color: #e5e7eb;
    padding: .5rem .65rem;
    border-radius: var(--p360-radius-sm);
    overflow-x: auto;
    white-space: nowrap;
    margin-bottom: .7rem;
}

.scan-list[b-yzoi0v2lu8] {
    border: 1px solid var(--p360-border);
    border-radius: var(--p360-radius);
    overflow: hidden;
    margin-bottom: .85rem;
    max-height: 240px;
    overflow-y: auto;
}

.scan-list__item[b-yzoi0v2lu8] {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    width: 100%;
    text-align: left;
    padding: .55rem .75rem;
    background: none;
    border: none;
    border-bottom: 1px solid var(--p360-border);
    cursor: pointer;
    font-family: inherit;
    font-size: .86rem;
}

.scan-list__item:last-child[b-yzoi0v2lu8] { border-bottom: none; }
.scan-list__item:hover[b-yzoi0v2lu8] { background: var(--p360-background); }
.scan-list__item--on[b-yzoi0v2lu8] { background: var(--p360-primary-100); }
.scan-list__item i[b-yzoi0v2lu8] { color: var(--p360-primary); margin-top: .15rem; }
.scan-list__item small[b-yzoi0v2lu8] { display: block; color: var(--p360-text-muted); font-size: .76rem; }

.scan-known[b-yzoi0v2lu8] { margin-top: .8rem; }

.scan-known summary[b-yzoi0v2lu8] {
    cursor: pointer;
    font-size: .84rem;
    color: var(--p360-text-muted);
    padding: .4rem 0;
}

.scan-known code[b-yzoi0v2lu8] {
    font-size: .82rem;
    background: var(--p360-background);
    padding: .1rem .35rem;
    border-radius: 3px;
}

/* Variante estreita: dentro de um modal que já tem muito conteúdo, a caixa de leitura não pode ocupar o
   ecrã todo. Mantém a cor de estado, que é o que se lê de relance com a caixa na mão. */
.scan-box--slim[b-yzoi0v2lu8] {
    padding: .55rem .7rem;
    gap: .7rem;
    margin-bottom: .7rem;
}

.scan-box--slim .scan-box__icon[b-yzoi0v2lu8] {
    width: 34px;
    height: 34px;
    font-size: 1rem;
}

.scan-box--slim .scan-box__input[b-yzoi0v2lu8] {
    padding: .35rem .55rem;
    font-size: .88rem;
}

/* Origem do lote no rastreio (F5.16/F5.19). */
.trace-origem[b-yzoi0v2lu8] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    font-size: .84rem;
    padding: .55rem .7rem;
    background: var(--p360-background);
    border-radius: var(--p360-radius-sm);
    margin-top: .6rem;
}

.trace-origem__label[b-yzoi0v2lu8] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 700;
    color: var(--p360-text-muted);
}

.trace-series[b-yzoi0v2lu8] { width: 100%; margin-top: .3rem; }

.trace-series summary[b-yzoi0v2lu8] {
    cursor: pointer;
    font-size: .8rem;
    color: var(--p360-primary-700);
}

.trace-series__list[b-yzoi0v2lu8] {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin: .4rem 0 .3rem;
}

.trace-series__list code[b-yzoi0v2lu8] {
    font-size: .76rem;
    background: var(--p360-surface);
    border: 1px solid var(--p360-border);
    padding: .1rem .4rem;
    border-radius: 3px;
}

.trace-series small[b-yzoi0v2lu8] {
    display: block;
    font-size: .74rem;
    color: var(--p360-text-muted);
    line-height: 1.4;
}
/* /Pages/GestaoToma.razor.rz.scp.css */
/* Gestão da toma — layout extraído dos estilos inline (convenção docs/05: lógica/estilo fora do
   markup, sem hardcode; cores e medidas em tokens var(--p360-*)). As cores dinâmicas de estado
   (@sv.Color) e a largura da barra de progresso (@TomaPct%) ficam inline por serem DADOS de
   domínio, não tokens de tema — conforme a convenção. */

.gt-card[b-8pxpihatvu] { margin-top: 1rem; margin-bottom: .6rem; }
.gt-loading[b-8pxpihatvu] { margin-top: 1rem; color: var(--p360-text-muted); }
.gt-empty[b-8pxpihatvu] { color: var(--p360-text-muted); margin: .5rem .25rem; }
.gt-group[b-8pxpihatvu] { margin-top: .5rem; }

/* Barra de filtros (topo do cartão) */
.gt-toolbar[b-8pxpihatvu] { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.gt-field[b-8pxpihatvu] { font-size: .82rem; color: var(--p360-text-muted); display: flex; align-items: center; gap: .35rem; margin: 0; }
.gt-date[b-8pxpihatvu] { max-width: 150px; }
.gt-unit[b-8pxpihatvu] { max-width: 200px; }
.gt-spacer[b-8pxpihatvu] { flex: 1; }
.gt-hint[b-8pxpihatvu] { font-size: .8rem; color: var(--p360-text-muted); }
.gt-chips[b-8pxpihatvu] { margin-top: .6rem; }

/* Cartão por utente */
.gt-pcard[b-8pxpihatvu] { margin-bottom: .6rem; }
.gt-prow[b-8pxpihatvu] { display: flex; align-items: center; gap: .65rem; margin-bottom: .45rem; flex-wrap: wrap; }
.gt-prow__id[b-8pxpihatvu] { flex: 1; min-width: 0; }
.gt-pname[b-8pxpihatvu] { font-size: 1rem; }
.gt-bed[b-8pxpihatvu] { font-size: .78rem; color: var(--p360-text-muted); }
.gt-none[b-8pxpihatvu] { font-size: .8rem; color: var(--p360-text-muted); }
.gt-btn-fixed[b-8pxpihatvu] { flex: none; }
.gt-muted[b-8pxpihatvu] { color: var(--p360-text-muted); }

/* Etiquetas pequenas */
.gt-tag[b-8pxpihatvu] { font-size: .7rem; }        /* badges no cabeçalho do utente (alergia / ausência) */
.gt-tag--xs[b-8pxpihatvu] { font-size: .68rem; }   /* badges nas linhas de medicação */
.gt-qty[b-8pxpihatvu] { font-size: .8rem; color: var(--p360-text-muted); }

/* Linhas de medicação — estados e ações */
.gt-strike[b-8pxpihatvu] { text-decoration: line-through; color: var(--p360-text-muted); }
.gt-suspended[b-8pxpihatvu] { color: var(--p360-danger); font-size: .8rem; font-weight: 500; }
.gt-status[b-8pxpihatvu] { font-size: .78rem; color: var(--p360-text-muted); }
.gt-act[b-8pxpihatvu] { padding: .12rem .55rem; font-size: .78rem; }
.gt-act--sm[b-8pxpihatvu] { padding: .12rem .5rem; font-size: .78rem; }
.gt-act--xs[b-8pxpihatvu] { padding: .1rem .4rem; font-size: .74rem; }
.gt-prn-meta[b-8pxpihatvu] { font-size: .74rem; color: var(--p360-text-muted); }
.gt-note-danger[b-8pxpihatvu] { color: var(--p360-danger); }
.gt-note-warn[b-8pxpihatvu] { color: var(--p360-warning); }

/* Modais */
.gt-modal-prn[b-8pxpihatvu] { max-width: 440px; }
.gt-modal-adm[b-8pxpihatvu] { max-width: 480px; }
.gt-modal-sub[b-8pxpihatvu] { margin-top: 0; color: var(--p360-text-muted); font-size: .85rem; }
.gt-req[b-8pxpihatvu] { color: var(--p360-danger); }
.gt-absent-warn[b-8pxpihatvu] {
    background: var(--p360-warning-bg); border: 1px solid var(--p360-warning);
    border-radius: var(--p360-radius-sm); padding: .5rem .65rem; margin-bottom: .6rem;
    font-size: .82rem; color: var(--p360-warning);
}

/* Telemóvel: os filtros e o botão "Marcar todas" ocupam a largura toda (fáceis de tocar,
   e o botão deixa de encavalitar o nome do utente quando este quebra em várias linhas). */
@media (max-width: 640px) {
    .gt-field[b-8pxpihatvu], .gt-unit[b-8pxpihatvu] { flex: 1 1 100%; }
    .gt-date[b-8pxpihatvu], .gt-unit[b-8pxpihatvu] { max-width: none; width: 100%; }
    .gt-btn-fixed[b-8pxpihatvu] { flex: 1 1 100%; justify-content: center; }
}
/* /Pages/Home.razor.rz.scp.css */
/* Grelha do ecrã inicial (F7.15): duas colunas no desktop, uma no telemóvel. A largura de cada
   bloco é configuração da casa, e a ordem do editor é também a ordem de leitura de quem entra no
   turno — por isso não se reordena nada aqui. */
.home-grid[b-sjkbrqulfz] {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.home-cell--full[b-sjkbrqulfz] { grid-column: 1 / -1; }

/* Abaixo disto duas colunas deixam de caber sem cortar texto (as linhas das atividades têm hora,
   sala, responsável e duração na mesma linha). */
@media (max-width: 860px) {
    .home-grid[b-sjkbrqulfz] { grid-template-columns: 1fr; }
    .home-cell--full[b-sjkbrqulfz] { grid-column: auto; }
}

.home-muted[b-sjkbrqulfz] { color: var(--p360-text-muted); font-size: .85rem; margin: 0; }
/* /Pages/Pharmacy/LabelDesigner.razor.rz.scp.css */
/* Desenhador da etiqueta — layout da barra de ferramentas, paleta, tela e painel de propriedades. */

.ld-loading[b-guu25qd3tj] { color: var(--p360-text-muted); }

/* ---- Barra de ferramentas ---- */
.ld-toolbar[b-guu25qd3tj] {
    margin-bottom: .6rem;
    display: flex;
    gap: .6rem;
    align-items: center;
    flex-wrap: wrap;
}

.ld-spacer[b-guu25qd3tj] { flex: 1; }

.ld-select-label[b-guu25qd3tj] {
    font-size: .82rem;
    color: var(--p360-text-muted);
    display: flex;
    align-items: center;
    gap: .3rem;
    margin: 0;
}

.ld-paper-select[b-guu25qd3tj] { max-width: 90px; }
.ld-orient-select[b-guu25qd3tj] { max-width: 130px; }

.ld-zoom[b-guu25qd3tj] {
    display: flex;
    align-items: center;
    gap: .2rem;
}

.ld-zoom-btn[b-guu25qd3tj] { padding: .2rem .5rem; }

.ld-zoom-value[b-guu25qd3tj] {
    font-size: .78rem;
    color: var(--p360-text-muted);
    width: 42px;
    text-align: center;
}

/* ---- Grelha geral (paleta · tela · propriedades) ---- */
.ld-grid[b-guu25qd3tj] {
    display: grid;
    grid-template-columns: 150px 1fr 230px;
    gap: .6rem;
    align-items: start;
    max-width: 100%;
}

/* Itens de grelha podem encolher abaixo do conteúdo (senão o input de ficheiro empurra a página). */
.ld-grid > *[b-guu25qd3tj] { min-width: 0; }

/* ---- Paleta ---- */
.ld-palette[b-guu25qd3tj] { padding: .6rem; }

.ld-section-title[b-guu25qd3tj] {
    font-size: .72rem;
    color: var(--p360-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .4rem;
}

.ld-palette-list[b-guu25qd3tj] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.ld-palette-btn[b-guu25qd3tj] {
    justify-content: flex-start;
    font-size: .8rem;
    padding: .3rem .5rem;
}

.ld-palette-icon[b-guu25qd3tj] { width: 1.1rem; }

/* ---- Tela ---- */
.ld-canvas-wrap[b-guu25qd3tj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
}

.ld-canvas[b-guu25qd3tj] {
    position: relative;
    box-shadow: 0 0 0 1px var(--p360-border), 0 2px 12px rgba(0, 0, 0, .12);
}

.ld-canvas-render[b-guu25qd3tj] {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.ld-box[b-guu25qd3tj] {
    position: absolute;
    box-sizing: border-box;
}

/* tons herdados do desenho original: tinte do primário a 6% e contorno slate a 50% */
.ld-box--selected[b-guu25qd3tj] {
    outline: 2px solid var(--p360-primary);
    outline-offset: 1px;
    background: rgba(135, 125, 56, .06);
}

.ld-box--idle[b-guu25qd3tj] { outline: 1px dotted rgba(100, 116, 139, .5); }

.ld-handle[b-guu25qd3tj] {
    position: absolute;
    right: -6px;
    bottom: -6px;
    width: 12px;
    height: 12px;
    background: var(--p360-primary);
    border: 2px solid var(--p360-surface);
    border-radius: 2px;
    cursor: nwse-resize;
}

.ld-canvas-caption[b-guu25qd3tj] {
    font-size: .74rem;
    color: var(--p360-text-muted);
}

/* ---- Painel de propriedades ---- */
.ld-props[b-guu25qd3tj] { padding: .7rem; overflow: hidden; }

.ld-props-empty[b-guu25qd3tj] {
    color: var(--p360-text-muted);
    font-size: .84rem;
}

.ld-props-head[b-guu25qd3tj] {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .5rem;
}

.ld-props-geo[b-guu25qd3tj] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .4rem;
    margin-bottom: .5rem;
}

.ld-field[b-guu25qd3tj] { margin: 0; }

.ld-font-row[b-guu25qd3tj] { margin-bottom: .4rem; }

.ld-text-tools[b-guu25qd3tj] {
    display: flex;
    gap: .3rem;
    margin-bottom: .4rem;
}

.ld-tool-btn[b-guu25qd3tj] {
    flex: 1;
    padding: .25rem;
}

.ld-block[b-guu25qd3tj] { margin-bottom: .4rem; }
.ld-block-sm[b-guu25qd3tj] { margin-bottom: .3rem; }

.ld-order[b-guu25qd3tj] {
    display: flex;
    gap: .3rem;
    margin-top: .4rem;
}

.ld-order-btn[b-guu25qd3tj] {
    flex: 1;
    padding: .25rem;
    font-size: .76rem;
}

.ld-order-btn--danger[b-guu25qd3tj] { color: var(--p360-danger); }

/* ---- Logótipo ---- */
.ld-logo[b-guu25qd3tj] {
    border-top: 1px solid var(--p360-border);
    margin-top: .7rem;
    padding-top: .6rem;
}

.ld-logo-title[b-guu25qd3tj] { margin-bottom: .35rem; }

.ld-logo-ok[b-guu25qd3tj] {
    font-size: .78rem;
    color: var(--p360-success);
    margin-bottom: .3rem;
}

.ld-logo-btn[b-guu25qd3tj] {
    font-size: .78rem;
    cursor: pointer;
}

.ld-hidden-file[b-guu25qd3tj] { display: none; }

/* O InputFile é um componente filho — o CSS isolado não chega ao <input> que ele renderiza.
   ::deep aplica a regra ao input nativo (senão "Escolher ficheiro / Nenhum ficheiro" alarga a coluna). */
.ld-logo-btn[b-guu25qd3tj]  input[type="file"] { display: none; }

/* ---- Camada de captura do arrasto ---- */
.ld-drag-overlay[b-guu25qd3tj] {
    position: fixed;
    inset: 0;
    z-index: 60;
}

/* Toque: as superfícies de arrasto não devem deslocar a página (pan/scroll) durante o gesto. */
.ld-box[b-guu25qd3tj], .ld-handle[b-guu25qd3tj], .ld-drag-overlay[b-guu25qd3tj] { touch-action: none; }

/* Ecrãs estreitos (tablet/telemóvel): paleta · tela · propriedades empilham numa coluna;
   a tela tem dimensões fixas (mm→px) e passa a deslizar na horizontal em vez de rebentar. */
@media (max-width: 900px) {
    .ld-grid[b-guu25qd3tj] { grid-template-columns: 1fr; }
    .ld-canvas-wrap[b-guu25qd3tj] { overflow-x: auto; align-items: flex-start; }
}

/* ---- Dimensão em milímetros + monocromático (etiqueta térmica) ---- */
.ld-mm-input[b-guu25qd3tj] {
    max-width: 62px;
    padding-left: .35rem;
    padding-right: .2rem;
}

.ld-mm-x[b-guu25qd3tj] {
    color: var(--p360-text-muted);
    font-size: .78rem;
}

.ld-mono[b-guu25qd3tj] {
    font-size: .82rem;
    color: var(--p360-text-muted);
    margin: 0;
    white-space: nowrap;
}

/* Aviso de fonte pequena de mais para a térmica: informa, não impede. */
.ld-warn[b-guu25qd3tj] {
    display: flex;
    gap: .35rem;
    align-items: flex-start;
    font-size: .72rem;
    line-height: 1.3;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    padding: .3rem .45rem;
    margin-bottom: .4rem;
}

.ld-hint[b-guu25qd3tj] {
    font-size: .72rem;
    line-height: 1.35;
    color: var(--p360-text-muted);
    margin-bottom: .4rem;
}
/* /Pages/Pharmacy/PrescricaoRonda.razor.rz.scp.css */
/* ===== Ronda de prescrição (P.6) ===== */
/* O ecrã é uma lista para varrer, não um formulário para preencher: densidade alta, uma linha por
   medicamento, e o motivo legível de relance. */

.ronda-filtros[b-0ztjocx5zf] {
    display: flex;
    gap: .9rem;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: .75rem .9rem;
    margin-bottom: .75rem;
}

.ronda-ate[b-0ztjocx5zf] {
    font-size: .8rem;
    color: var(--p360-text-muted);
    white-space: nowrap;
}

.ronda-vazio[b-0ztjocx5zf] {
    padding: 1.5rem;
    text-align: center;
    color: var(--p360-text-muted);
}

/* ---- Avisos que travam a emissão ---- */
.ronda-aviso[b-0ztjocx5zf] {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    padding: .6rem .8rem;
    border-radius: var(--p360-radius);
    margin-bottom: .6rem;
    font-size: .85rem;
    line-height: 1.45;
}

.ronda-aviso--danger[b-0ztjocx5zf] {
    background: var(--p360-danger-bg);
    color: #991b1b;
}

/* Um aviso que diz só "não encontrei" é um beco sem saída. Quando não há botão honesto a oferecer, o
   mínimo é explicar o que falta e em que pé está cada peça. */
.ronda-requisitos[b-0ztjocx5zf] {
    margin-top: .35rem;
}

.ronda-requisitos > summary[b-0ztjocx5zf] {
    cursor: pointer;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    list-style: none;
}

.ronda-requisitos > summary[b-0ztjocx5zf]::-webkit-details-marker { display: none; }

.ronda-requisitos > summary[b-0ztjocx5zf]::before {
    content: "▸";
    font-size: .7rem;
    transition: transform .15s;
}

.ronda-requisitos[open] > summary[b-0ztjocx5zf]::before { transform: rotate(90deg); }
.ronda-requisitos > summary:focus-visible[b-0ztjocx5zf] { outline: 2px solid currentColor; outline-offset: 2px; }

.ronda-requisitos p[b-0ztjocx5zf] { margin: .5rem 0 .35rem; }
.ronda-requisitos ol[b-0ztjocx5zf] { margin: 0; padding-left: 1.2rem; }
.ronda-requisitos li[b-0ztjocx5zf] { margin-bottom: .4rem; }
.ronda-requisitos a[b-0ztjocx5zf] { color: inherit; font-weight: 600; }

.ronda-requisitos__nota[b-0ztjocx5zf] {
    opacity: .85;
    font-style: italic;
}

/* O erro aparece onde se pode resolver: cada aviso leva ao ecrã que o corrige. */
.ronda-aviso__accao[b-0ztjocx5zf] {
    margin-left: .4rem;
    font-weight: 600;
    color: inherit;
    text-decoration: underline;
    white-space: nowrap;
}

.ronda-aviso--warning[b-0ztjocx5zf] {
    background: var(--p360-warning-bg);
    color: #92400e;
}

/* ---- Tira de resumo ---- */
.ronda-tira[b-0ztjocx5zf] {
    display: flex;
    gap: .6rem;
    margin-bottom: .75rem;
    flex-wrap: wrap;
}

.ronda-stat[b-0ztjocx5zf] {
    flex: 1;
    min-width: 140px;
    padding: .6rem .85rem;
}

.ronda-stat .n[b-0ztjocx5zf] {
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

.ronda-stat .l[b-0ztjocx5zf] {
    font-size: .72rem;
    color: var(--p360-text-muted);
    font-weight: 500;
}

.ronda-stat--alerta .n[b-0ztjocx5zf] { color: var(--p360-danger); }
.ronda-stat--aviso .n[b-0ztjocx5zf] { color: var(--p360-warning); }

/* ---- Grupo por residente ---- */
/* Agrupa-se por residente e não por medicamento porque a unidade de assinatura é a receita, e a receita
   é de um residente. */
.ronda-grupo[b-0ztjocx5zf] {
    margin-bottom: .5rem;
    padding: 0;
    overflow: hidden;
}

.ronda-grupo__hd[b-0ztjocx5zf] {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .6rem .8rem;
    border-bottom: 1px solid var(--p360-border);
    flex-wrap: wrap;
}

.ronda-grupo__nome[b-0ztjocx5zf] { font-weight: 600; }

.ronda-grupo__loc[b-0ztjocx5zf] {
    font-size: .78rem;
    color: var(--p360-text-muted);
}

.ronda-grupo__sum[b-0ztjocx5zf] {
    margin-left: auto;
    font-size: .78rem;
    color: var(--p360-text-muted);
    white-space: nowrap;
}

/* ---- Linha de medicamento ---- */
.ronda-linha[b-0ztjocx5zf] {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem .8rem;
    border-bottom: 1px solid var(--p360-background);
    font-size: .85rem;
    flex-wrap: wrap;
}

.ronda-linha:last-child[b-0ztjocx5zf] { border-bottom: 0; }
.ronda-linha--apagada[b-0ztjocx5zf] { opacity: .65; }

.ronda-linha__med[b-0ztjocx5zf] {
    flex: 1;
    min-width: 180px;
}

.ronda-linha__med b[b-0ztjocx5zf] { display: block; font-weight: 600; }

.ronda-linha__med small[b-0ztjocx5zf] {
    color: var(--p360-text-muted);
    font-size: .74rem;
}

.ronda-controlado[b-0ztjocx5zf] { color: var(--p360-warning); font-weight: 600; }

.ronda-cb[b-0ztjocx5zf] {
    width: 17px;
    height: 17px;
    accent-color: var(--p360-primary);
    cursor: pointer;
    flex: none;
    margin: 0;
}

/* ---- Stepper de embalagens ---- */
.ronda-stepper[b-0ztjocx5zf] {
    display: flex;
    align-items: center;
    flex: none;
}

.ronda-stepper button[b-0ztjocx5zf] {
    width: 26px;
    height: 28px;
    border: 1px solid var(--p360-border);
    background: var(--p360-surface);
    cursor: pointer;
    font-size: .95rem;
    line-height: 1;
    color: var(--p360-text-muted);
    font-family: inherit;
}

.ronda-stepper button:first-child[b-0ztjocx5zf] { border-radius: var(--p360-radius-sm) 0 0 var(--p360-radius-sm); }
.ronda-stepper button:last-child[b-0ztjocx5zf] { border-radius: 0 var(--p360-radius-sm) var(--p360-radius-sm) 0; }
.ronda-stepper button:hover[b-0ztjocx5zf] { background: var(--p360-background); color: var(--p360-text); }

.ronda-stepper button:focus-visible[b-0ztjocx5zf] {
    outline: 2px solid var(--p360-primary);
    outline-offset: -1px;
    z-index: 1;
}

.ronda-stepper .v[b-0ztjocx5zf] {
    width: 36px;
    height: 28px;
    border: 1px solid var(--p360-border);
    border-left: 0;
    border-right: 0;
    display: grid;
    place-items: center;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    background: var(--p360-surface);
}

/* Alterar a proposta é legítimo, mas tem de se ver que foi alterada. */
.ronda-stepper .v--editado[b-0ztjocx5zf] {
    color: var(--p360-primary);
    background: var(--p360-primary-100);
}

.ronda-emb[b-0ztjocx5zf] {
    font-size: .72rem;
    color: var(--p360-text-muted);
    width: 76px;
    flex: none;
    font-variant-numeric: tabular-nums;
}

/* ---- O "porquê?" ---- */
/* Quatro linhas de aritmética. É o que transforma uma proposta que se aceita às cegas numa que se
   verifica em três segundos. */
.ronda-porque[b-0ztjocx5zf] {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: .2rem .45rem;
    border-radius: var(--p360-radius-sm);
    color: var(--p360-text-muted);
    font: inherit;
    font-size: .75rem;
    flex: none;
}

.ronda-porque:hover[b-0ztjocx5zf] { background: var(--p360-background); color: var(--p360-primary); }
.ronda-porque:focus-visible[b-0ztjocx5zf] { outline: 2px solid var(--p360-primary); outline-offset: 1px; }

.ronda-calculo[b-0ztjocx5zf] {
    padding: .1rem .8rem .6rem 2.1rem;
    font-size: .76rem;
    color: var(--p360-text-muted);
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    line-height: 1.8;
    border-bottom: 1px solid var(--p360-background);
}

.ronda-calculo em[b-0ztjocx5zf] {
    font-style: normal;
    color: var(--p360-text);
    font-weight: 600;
}

/* ---- Exclusões ---- */
/* Ficam recolhidas mas visíveis: uma lista que esconde as omissões parece completa quando não é. */
.ronda-excluidos[b-0ztjocx5zf] {
    margin-bottom: .5rem;
    padding: 0;
    overflow: hidden;
}

.ronda-excluidos > summary[b-0ztjocx5zf] {
    padding: .6rem .8rem;
    cursor: pointer;
    font-size: .85rem;
    font-weight: 600;
    list-style: none;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.ronda-excluidos > summary[b-0ztjocx5zf]::-webkit-details-marker { display: none; }

.ronda-excluidos > summary[b-0ztjocx5zf]::before {
    content: "▸";
    color: var(--p360-text-muted);
    font-size: .7rem;
    transition: transform .15s;
}

.ronda-excluidos[open] > summary[b-0ztjocx5zf]::before { transform: rotate(90deg); }
.ronda-excluidos > summary:focus-visible[b-0ztjocx5zf] { outline: 2px solid var(--p360-primary); outline-offset: -2px; }
.ronda-excluidos .ronda-linha[b-0ztjocx5zf] { border-top: 1px solid var(--p360-background); border-bottom: 0; }

.ronda-btn-sm[b-0ztjocx5zf] {
    padding: .25rem .55rem;
    font-size: .75rem;
}

/* ---- Barra de ação ---- */
.ronda-acao[b-0ztjocx5zf] {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .65rem .9rem;
    margin-top: .75rem;
    flex-wrap: wrap;
}

.ronda-acao__sum b[b-0ztjocx5zf] { font-weight: 700; }

.ronda-acao__sum small[b-0ztjocx5zf] {
    display: block;
    color: var(--p360-text-muted);
    font-size: .74rem;
}

.ronda-acao__motivo[b-0ztjocx5zf] {
    font-size: .78rem;
    color: var(--p360-text-muted);
    max-width: 34rem;
}

/* ---- Fila de assinatura ---- */
/* Com Cartão de Cidadão são tantos PINs quantas as receitas. O ecrã assume-o em vez de o esconder. */
.ronda-progresso[b-0ztjocx5zf] {
    height: 5px;
    background: var(--p360-background-2);
    position: relative;
}

.ronda-progresso i[b-0ztjocx5zf] {
    position: absolute;
    inset: 0 auto 0 0;
    background: var(--p360-primary);
    display: block;
    transition: width .25s;
}

.ronda-passo[b-0ztjocx5zf] {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .5rem .2rem;
    border-bottom: 1px solid var(--p360-background);
    font-size: .85rem;
}

.ronda-passo:last-child[b-0ztjocx5zf] { border-bottom: 0; }
.ronda-passo--agora[b-0ztjocx5zf] { background: var(--p360-primary-100); }

.ronda-passo__nome[b-0ztjocx5zf] { flex: 1; min-width: 0; }
.ronda-passo__nome b[b-0ztjocx5zf] { font-weight: 600; }

.ronda-passo__nome small[b-0ztjocx5zf] {
    display: block;
    color: var(--p360-text-muted);
    font-size: .74rem;
}

.ronda-passo__ico[b-0ztjocx5zf] {
    width: 21px;
    height: 21px;
    border-radius: 50%;
    flex: none;
    display: grid;
    place-items: center;
    font-size: .68rem;
    font-weight: 700;
    color: #fff;
    background: var(--p360-background-2);
    color: var(--p360-text-muted);
}

.ronda-passo__ico--issued[b-0ztjocx5zf] { background: var(--p360-success); color: #fff; }
.ronda-passo__ico--inprogress[b-0ztjocx5zf] { background: var(--p360-primary); color: #fff; }
.ronda-passo__ico--failed[b-0ztjocx5zf] { background: var(--p360-danger); color: #fff; }

@media (max-width: 720px) {
    .ronda-linha__med[b-0ztjocx5zf] { min-width: 100%; }
    .ronda-acao[b-0ztjocx5zf] { align-items: stretch; }
}

/* ---- Navegação entre as duas metades do módulo (P.9) ---- */
/* A ronda mostra o que falta prescrever; as emitidas o que já foi. Duas perguntas, dois ecrãs. */
.ronda-tabs[b-0ztjocx5zf] {
    display: flex;
    gap: .35rem;
    margin-bottom: .75rem;
    border-bottom: 1px solid var(--p360-border);
}

.ronda-tab[b-0ztjocx5zf] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .85rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--p360-text-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.ronda-tab:hover[b-0ztjocx5zf] { color: var(--p360-text); }

.ronda-tab--active[b-0ztjocx5zf] {
    color: var(--p360-primary);
    border-bottom-color: var(--p360-primary);
}
/* /Pages/Pharmacy/ReceitasEmitidas.razor.rz.scp.css */
/* ===== Receitas emitidas (P.9) ===== */
/* Uma lista para consultar e agir, não para preencher: densidade alta, o estado primeiro, e a ação só onde
   é mesmo possível. */

/* ---- Navegação entre as duas metades do módulo ---- */
.re-tabs[b-eheoqy1qdg] {
    display: flex;
    gap: .35rem;
    margin-bottom: .75rem;
    border-bottom: 1px solid var(--p360-border);
}

.re-tab[b-eheoqy1qdg] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .85rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--p360-text-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}

.re-tab:hover[b-eheoqy1qdg] { color: var(--p360-text); }

.re-tab--active[b-eheoqy1qdg] {
    color: var(--p360-primary);
    border-bottom-color: var(--p360-primary);
}

/* ---- Filtros ---- */
.re-filtros[b-eheoqy1qdg] {
    display: flex;
    gap: .9rem;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: .75rem .9rem;
    margin-bottom: .75rem;
}

.re-vazio[b-eheoqy1qdg] {
    padding: 1.5rem;
    text-align: center;
    color: var(--p360-text-muted);
}

/* ---- Uma receita ---- */
.re-linha[b-eheoqy1qdg] {
    margin-bottom: .5rem;
    padding: .65rem .8rem;
}

/* Cancelada continua visível, mas recuada: apagá-la da lista escondia a história que dá sentido ao saldo. */
.re-linha--cancelada[b-eheoqy1qdg] { opacity: .7; }

.re-linha__topo[b-eheoqy1qdg] {
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
}

.re-nome[b-eheoqy1qdg] { font-weight: 600; }

.re-numero[b-eheoqy1qdg] {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: .78rem;
    color: var(--p360-text-muted);
    font-variant-numeric: tabular-nums;
}

.re-quando[b-eheoqy1qdg] {
    font-size: .76rem;
    color: var(--p360-text-muted);
    white-space: nowrap;
}

.re-btn-cancelar[b-eheoqy1qdg] {
    padding: .25rem .6rem;
    font-size: .78rem;
    color: var(--p360-danger);
}

.re-btn-cancelar:disabled[b-eheoqy1qdg] { opacity: .5; cursor: default; }

/* ---- Medicamentos ---- */
.re-linha__meds[b-eheoqy1qdg] {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .45rem;
}

.re-med[b-eheoqy1qdg] {
    font-size: .8rem;
    padding: .15rem .45rem;
    border-radius: var(--p360-radius-sm);
    background: var(--p360-background);
}

.re-med small[b-eheoqy1qdg] {
    color: var(--p360-text-muted);
    font-variant-numeric: tabular-nums;
}

/* ---- Motivo e notas ---- */
.re-motivo[b-eheoqy1qdg] {
    margin-top: .5rem;
    font-size: .8rem;
    color: var(--p360-text-muted);
    display: flex;
    gap: .4rem;
    align-items: flex-start;
    line-height: 1.45;
}

.re-motivo--nota[b-eheoqy1qdg] { font-style: italic; }

@media (max-width: 720px) {
    .re-quando[b-eheoqy1qdg] { width: 100%; }
}

/* ---- Paginação ---- */
/* Diz sempre o total real, e não o que veio: «15 receitas» quando há três mil é pior do que número nenhum. */
.re-paginacao[b-eheoqy1qdg] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .6rem .85rem;
    margin-top: .5rem;
    flex-wrap: wrap;
    font-size: .82rem;
    color: var(--p360-text-muted);
}

.re-paginacao__conta[b-eheoqy1qdg] { font-variant-numeric: tabular-nums; }

.re-paginacao__pagina[b-eheoqy1qdg] {
    font-variant-numeric: tabular-nums;
    min-width: 4rem;
    text-align: center;
}

.re-paginacao__btn[b-eheoqy1qdg] {
    padding: .25rem .6rem;
    font-size: .8rem;
}

.re-paginacao__btn:disabled[b-eheoqy1qdg] { opacity: .45; cursor: default; }
