/* _content/Logitools.Client.Shared/Components/Admin/AdminAuditSection.razor.rz.scp.css */
.lt-aa[b-d7aytutvn1] { max-width: 1100px; }
.lt-aa__head[b-d7aytutvn1] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; flex-wrap: wrap; }
.lt-aa__h[b-d7aytutvn1] { margin: 0; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--lt-brand-700); }
.lt-aa__filters[b-d7aytutvn1] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: .8rem; }
.lt-aa__f[b-d7aytutvn1] {
    height: 34px; padding: 0 .55rem; border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm); background: var(--lt-surface); font: inherit; font-size: .84rem;
}
.lt-aa__f[placeholder][b-d7aytutvn1] { min-width: 150px; }
.lt-aa__date[b-d7aytutvn1] { display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; color: var(--lt-muted); }
.lt-aa__date input[b-d7aytutvn1] { height: 34px; padding: 0 .4rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); background: var(--lt-surface); font: inherit; }
.lt-aa__count[b-d7aytutvn1] { margin: 0 0 .4rem; font-size: .76rem; color: var(--lt-muted); }
.lt-aa__more[b-d7aytutvn1] { margin-top: .8rem; display: flex; justify-content: center; }
.lt-aa__when[b-d7aytutvn1] { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lt-aa__action[b-d7aytutvn1] {
    font-size: .72rem; font-weight: 700; padding: .1rem .4rem; border-radius: 999px;
    background: var(--lt-brand-tint); color: var(--lt-brand-700); white-space: nowrap;
}
.lt-aa__detail[b-d7aytutvn1] { max-width: 340px; }
.lt-aa__note[b-d7aytutvn1] { color: var(--lt-muted); font-size: .84rem; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminCompaniesSection.razor.rz.scp.css */
.lt-ac[b-4qw1jam2ew] { max-width: 980px; }
.lt-ac__h[b-4qw1jam2ew] { margin: 0 0 .8rem; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--lt-brand-700); }
.lt-ac__note[b-4qw1jam2ew] { color: var(--lt-muted); font-size: .84rem; margin-top: .6rem; }

.lt-ac__row[b-4qw1jam2ew] { cursor: pointer; }
.lt-ac__row:hover[b-4qw1jam2ew] { background: var(--lt-surface-2); }
.lt-ac__row.is-active[b-4qw1jam2ew] { background: var(--lt-brand-tint); }
.lt-ac__row.is-active td:first-child[b-4qw1jam2ew] { box-shadow: inset 3px 0 0 var(--lt-brand); }

.lt-ac__detail[b-4qw1jam2ew] { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid var(--lt-line); }
.lt-ac__detailhd[b-4qw1jam2ew] { margin: 0 0 1rem; font-size: 1.02rem; font-weight: 700; color: var(--lt-ink); }
.lt-ac__detailhd small[b-4qw1jam2ew] { color: var(--lt-muted); font-weight: 400; font-size: .82rem; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminEmpresaSection.razor.rz.scp.css */
/* Ficha da empresa (#126). Cartões da gramática fx2 (ficha produto v2), grelha densa auto-fill. */
.lt-emp[b-wpq7gwqjjn] { display: flex; flex-direction: column; gap: .75rem; width: 100%; }
.lt-emp__bar[b-wpq7gwqjjn] { display: flex; align-items: flex-end; gap: .75rem; flex-wrap: wrap; }
.lt-emp__bar[b-wpq7gwqjjn] >  .lt-field { min-width: 20rem; }
.lt-emp__acoes[b-wpq7gwqjjn] { display: flex; gap: .5rem; margin-left: auto; padding-bottom: .35rem; }
.lt-emp__note[b-wpq7gwqjjn] { margin: 0; font-size: .85rem; color: var(--lt-muted, #64748b); }
.lt-emp__cards[b-wpq7gwqjjn] { display: flex; flex-direction: column; gap: .9rem; }
.lt-emp__card[b-wpq7gwqjjn] { background: var(--lt-surface, #fff); border: 1px solid var(--lt-line, #e2e8f0); border-radius: var(--lt-radius, 12px); padding: .9rem 1rem; }
.lt-emp__card > h3[b-wpq7gwqjjn] { margin: 0 0 .7rem; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--lt-muted, #64748b); }
.lt-emp__grid[b-wpq7gwqjjn] { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .6rem .9rem; align-items: end; }
.lt-emp__grid[b-wpq7gwqjjn] >  .lt-field--wide { grid-column: 1 / -1; }
.lt-emp__fixo[b-wpq7gwqjjn] { margin: -.3rem 0 .7rem; font-size: .8rem; color: var(--lt-muted, #64748b); max-width: 72ch; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminGlobalUsersSection.razor.rz.scp.css */
.lt-gu[b-3j9pbb9daa] { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(380px, 1.6fr); gap: 1.2rem; align-items: start; }
@media (max-width: 980px) { .lt-gu[b-3j9pbb9daa] { grid-template-columns: 1fr; } }

.lt-gu__list[b-3j9pbb9daa] { display: flex; flex-direction: column; gap: .4rem; }
.lt-gu__listhead[b-3j9pbb9daa] { display: flex; gap: .5rem; margin-bottom: .4rem; }
.lt-gu__search[b-3j9pbb9daa] {
    flex: 1; height: 36px; padding: 0 .6rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font: inherit; font-size: .86rem;
}
.lt-gu__row[b-3j9pbb9daa] {
    display: flex; align-items: center; justify-content: space-between; gap: .6rem;
    padding: .55rem .7rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); cursor: pointer; text-align: left; width: 100%;
}
.lt-gu__row:hover[b-3j9pbb9daa] { background: var(--lt-surface-2); }
.lt-gu__row.is-active[b-3j9pbb9daa] { border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-gu__rowmain[b-3j9pbb9daa] { display: flex; flex-direction: column; min-width: 0; }
.lt-gu__rowmain strong[b-3j9pbb9daa] { font-size: .92rem; color: var(--lt-ink); }
.lt-gu__rowmain small[b-3j9pbb9daa] { font-size: .76rem; color: var(--lt-muted); }
.lt-gu__badges[b-3j9pbb9daa] { display: flex; flex-wrap: wrap; gap: .3rem; justify-content: flex-end; }
.lt-gu__tag[b-3j9pbb9daa] { font-size: .66rem; font-weight: 700; padding: .1rem .4rem; border-radius: 999px; background: var(--lt-brand-tint); color: var(--lt-brand-700); white-space: nowrap; }
.lt-gu__tag.is-super[b-3j9pbb9daa] { background: var(--lt-success-tint, #e7f6ee); color: #1e6b46; }
.lt-gu__tag.is-warn[b-3j9pbb9daa] { background: var(--lt-warning-tint, #fff3d6); color: #8a5a12; }
.lt-gu__tag.is-off[b-3j9pbb9daa] { background: var(--lt-danger-tint, #fdecea); color: var(--lt-danger, #b3261e); }

.lt-gu__detail[b-3j9pbb9daa] {
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius);
    box-shadow: var(--lt-shadow); padding: 1.1rem 1.3rem; min-height: 200px;
}
.lt-gu__h[b-3j9pbb9daa] { margin: 0 0 .6rem; font-size: 1.02rem; color: var(--lt-ink); }
.lt-gu__sub[b-3j9pbb9daa] {
    margin: 1.2rem 0 .5rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em;
    color: var(--lt-brand-700); border-bottom: 1px solid var(--lt-brand-tint); padding-bottom: .3rem;
}
.lt-gu__form[b-3j9pbb9daa] { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1rem; }
.lt-gu__form[b-3j9pbb9daa] >  .lt-check { grid-column: 1 / -1; }
.lt-gu__security[b-3j9pbb9daa] { display: flex; flex-wrap: wrap; gap: .6rem; align-items: flex-end; }
.lt-gu__resetrow[b-3j9pbb9daa] { display: flex; gap: .5rem; align-items: flex-end; flex: 1; min-width: 300px; }
.lt-gu__resetrow > :first-child[b-3j9pbb9daa] { flex: 1; }
.lt-gu__matrix[b-3j9pbb9daa] { display: flex; flex-direction: column; gap: .5rem; max-height: 42vh; overflow-y: auto; padding: .2rem; }
.lt-gu__company[b-3j9pbb9daa] { border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); padding: .5rem .7rem; }
.lt-gu__companyhd[b-3j9pbb9daa] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lt-gu__adminflag[b-3j9pbb9daa] { display: inline-flex; align-items: center; gap: .35rem; font-size: .78rem; font-weight: 700; color: var(--lt-brand-700); cursor: pointer; white-space: nowrap; }
.lt-gu__adminflag input[b-3j9pbb9daa] { accent-color: var(--lt-brand); width: 15px; height: 15px; }
.lt-gu__stores[b-3j9pbb9daa] { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; margin: .3rem 0 0 1.6rem; padding-top: .3rem; border-top: 1px dashed var(--lt-line); }
.lt-gu__inlineactions[b-3j9pbb9daa] { margin-top: .6rem; display: flex; justify-content: flex-end; gap: .5rem; }
.lt-gu__actions[b-3j9pbb9daa] { margin-top: 1.2rem; display: flex; justify-content: flex-end; gap: .5rem; }
.lt-gu__note[b-3j9pbb9daa] { color: var(--lt-muted); font-size: .84rem; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminGridLayoutsSection.razor.rz.scp.css */
/* Consola de grelhas (COL-1f). Master-detail igual às outras secções da Administração: a lista
   dos documentos à esquerda, o editor do layout à direita. Larguras a favor do editor — é onde
   está o trabalho. */
.lt-gl__layout[b-ykyy8rfcng] { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(420px, 1.9fr); gap: 1.2rem; align-items: start; }
@media (max-width: 1040px) { .lt-gl__layout[b-ykyy8rfcng] { grid-template-columns: 1fr; } }

/* Barra de filtros (padrão list-report do Fiori: filtrar antes de olhar para 200 linhas). */
.lt-gl__fb[b-ykyy8rfcng] { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .5rem; }
.lt-gl__search[b-ykyy8rfcng] {
    flex: 1 1 160px; height: 36px; padding: 0 .6rem; border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm); background: var(--lt-surface); font: inherit; font-size: .86rem;
}
.lt-gl__sel[b-ykyy8rfcng] {
    height: 36px; padding: 0 .5rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font: inherit; font-size: .84rem; color: var(--lt-ink);
}

.lt-gl__tb[b-ykyy8rfcng] {
    display: flex; align-items: baseline; justify-content: space-between; gap: .6rem;
    padding: .1rem .1rem .45rem; border-bottom: 1px solid var(--lt-line); margin-bottom: .4rem;
}
.lt-gl__tb strong[b-ykyy8rfcng] { font-size: .92rem; color: var(--lt-ink); }
.lt-gl__tb small[b-ykyy8rfcng] { font-size: .74rem; color: var(--lt-muted); text-align: right; }

.lt-gl__list[b-ykyy8rfcng] { display: flex; flex-direction: column; gap: .35rem; max-height: 70vh; overflow-y: auto; }
.lt-gl__row[b-ykyy8rfcng] {
    display: flex; align-items: center; justify-content: space-between; gap: .6rem;
    padding: .5rem .65rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); cursor: pointer; text-align: left; width: 100%;
}
.lt-gl__row:hover[b-ykyy8rfcng] { background: var(--lt-surface-2); }
.lt-gl__row.is-active[b-ykyy8rfcng] { border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-gl__rowmain[b-ykyy8rfcng] { display: flex; flex-direction: column; min-width: 0; }
.lt-gl__rowmain strong[b-ykyy8rfcng] { font-size: .9rem; color: var(--lt-ink); }
.lt-gl__rowmain small[b-ykyy8rfcng] { font-size: .74rem; color: var(--lt-muted); }

.lt-gl__badges[b-ykyy8rfcng] { display: flex; flex-wrap: wrap; gap: .25rem; justify-content: flex-end; }
.lt-gl__tag[b-ykyy8rfcng] {
    font-size: .66rem; font-weight: 700; padding: .1rem .4rem; border-radius: 999px;
    background: var(--lt-surface-2); color: var(--lt-muted); white-space: nowrap;
}
.lt-gl__tag.is-set[b-ykyy8rfcng] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-gl__tag.is-personal[b-ykyy8rfcng] { background: var(--lt-success-tint, #e7f6ee); color: #1e6b46; }
.lt-gl__tag.is-warn[b-ykyy8rfcng] { background: var(--lt-warning-tint, #fff3d6); color: #8a5a12; }
.lt-gl__tag.is-dead[b-ykyy8rfcng] { background: var(--lt-danger-tint, #fdecea); color: var(--lt-danger, #b3261e); }

.lt-gl__detail[b-ykyy8rfcng] {
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius);
    box-shadow: var(--lt-shadow); padding: 1.1rem 1.3rem; min-height: 220px;
}
.lt-gl__head[b-ykyy8rfcng] { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.lt-gl__h[b-ykyy8rfcng] { margin: 0; font-size: 1.02rem; color: var(--lt-ink); }
.lt-gl__meta[b-ykyy8rfcng] { margin: .15rem 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-gl__count[b-ykyy8rfcng] { font-size: .74rem; font-weight: 700; color: var(--lt-brand-700); white-space: nowrap; }

/* Diagnóstico do layout: acionável, por isso dentro do ecrã e não num log. */
.lt-gl__diag[b-ykyy8rfcng] {
    margin: .6rem 0 0; padding: .45rem .6rem; border-radius: var(--lt-radius-sm);
    background: var(--lt-surface-2); color: var(--lt-ink); font-size: .8rem; line-height: 1.45;
}
.lt-gl__diag.is-warn[b-ykyy8rfcng] { background: var(--lt-warning-tint, #fff3d6); color: #8a5a12; }
.lt-gl__diag.is-dead[b-ykyy8rfcng] { background: var(--lt-danger-tint, #fdecea); color: var(--lt-danger, #b3261e); }
.lt-gl__diag code[b-ykyy8rfcng] { font-size: .76rem; background: rgba(0,0,0,.05); padding: .05rem .25rem; border-radius: 3px; }

.lt-gl__sub[b-ykyy8rfcng] {
    margin: 1.1rem 0 .45rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em;
    color: var(--lt-brand-700); border-bottom: 1px solid var(--lt-brand-tint); padding-bottom: .3rem;
}

.lt-gl__cols[b-ykyy8rfcng] { width: 100%; border-collapse: collapse; font-size: .84rem; }
.lt-gl__cols th[b-ykyy8rfcng] {
    text-align: left; font-size: .7rem; text-transform: uppercase; letter-spacing: .03em;
    color: var(--lt-muted); font-weight: 700; padding: .25rem .35rem; border-bottom: 1px solid var(--lt-line);
}
.lt-gl__cols td[b-ykyy8rfcng] { padding: .2rem .35rem; border-bottom: 1px solid var(--lt-line); vertical-align: middle; }
/* Numéricos à direita e com dígitos tabulares (Primer/Carbon) — a mesma regra que a grelha aplica. */
.lt-gl__thnum[b-ykyy8rfcng], .lt-gl__num[b-ykyy8rfcng] { text-align: right; font-variant-numeric: tabular-nums; }
.lt-gl__field[b-ykyy8rfcng] { font-size: .74rem; color: var(--lt-muted); }
.lt-gl__type[b-ykyy8rfcng] { font-size: .76rem; color: var(--lt-muted); }

.lt-gl__in[b-ykyy8rfcng] {
    width: 100%; height: 30px; padding: 0 .4rem; border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm); background: var(--lt-surface); font: inherit; font-size: .82rem;
}
.lt-gl__in--w[b-ykyy8rfcng] { width: 72px; text-align: right; font-variant-numeric: tabular-nums; }

.lt-gl__rowact[b-ykyy8rfcng] { display: flex; gap: .15rem; justify-content: flex-end; align-items: center; }
.lt-gl__ico[b-ykyy8rfcng] {
    width: 26px; height: 26px; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); color: var(--lt-ink); cursor: pointer; font-size: .8rem; line-height: 1;
}
.lt-gl__ico:hover:not(:disabled)[b-ykyy8rfcng] { background: var(--lt-surface-2); }
.lt-gl__ico:disabled[b-ykyy8rfcng] { opacity: .35; cursor: default; }
.lt-gl__ico.is-del:hover[b-ykyy8rfcng] { background: var(--lt-danger-tint, #fdecea); color: var(--lt-danger, #b3261e); border-color: var(--lt-danger, #b3261e); }
.lt-gl__lock[b-ykyy8rfcng] { width: 26px; text-align: center; font-size: .78rem; opacity: .55; }

.lt-gl__add[b-ykyy8rfcng] { display: flex; gap: .4rem; align-items: center; margin-top: .6rem; }
.lt-gl__add .lt-gl__sel[b-ykyy8rfcng] { flex: 1; }

/* Pré-visualização: só o cabeçalho, com as larguras e o alinhamento reais. A pré-visualização com
   dados de um documento verdadeiro é o COL-1d. */
.lt-gl__preview[b-ykyy8rfcng] { border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); overflow-x: auto; background: var(--lt-surface-2); }
.lt-gl__pvrow[b-ykyy8rfcng] { display: flex; gap: 0; padding: .35rem .2rem; min-width: max-content; }
.lt-gl__pvcell[b-ykyy8rfcng] {
    flex: 0 0 auto; padding: .2rem .4rem; font-size: .74rem; font-weight: 700; color: var(--lt-muted);
    text-transform: uppercase; letter-spacing: .02em; border-right: 1px solid var(--lt-line);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.lt-gl__pvcell:last-child[b-ykyy8rfcng] { border-right: 0; }
.lt-gl__pvcell.is-num[b-ykyy8rfcng] { text-align: right; }

.lt-gl__actions[b-ykyy8rfcng] { margin-top: 1.1rem; display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; }
.lt-gl__hint[b-ykyy8rfcng] { margin: .45rem 0 0; font-size: .74rem; color: var(--lt-muted); line-height: 1.5; }
.lt-gl__note[b-ykyy8rfcng] { color: var(--lt-muted); font-size: .84rem; line-height: 1.55; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminGroupsSection.razor.rz.scp.css */
.lt-ag[b-vvw5qunvh4] { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(380px, 1.6fr); gap: 1.2rem; align-items: start; }
@media (max-width: 980px) { .lt-ag[b-vvw5qunvh4] { grid-template-columns: 1fr; } }

.lt-ag__list[b-vvw5qunvh4] { display: flex; flex-direction: column; gap: .4rem; }
.lt-ag__listhead[b-vvw5qunvh4] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .3rem; }
.lt-ag__h[b-vvw5qunvh4] { margin: 0; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--lt-brand-700); }
.lt-ag__row[b-vvw5qunvh4] {
    display: flex; align-items: center; justify-content: space-between; gap: .6rem;
    padding: .5rem .7rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); cursor: pointer; text-align: left; width: 100%;
}
.lt-ag__row:hover[b-vvw5qunvh4] { background: var(--lt-surface-2); }
.lt-ag__row.is-active[b-vvw5qunvh4] { border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-ag__rowmain[b-vvw5qunvh4] { display: flex; flex-direction: column; min-width: 0; }
.lt-ag__rowmain strong[b-vvw5qunvh4] { font-size: .9rem; color: var(--lt-ink); }
.lt-ag__rowmain small[b-vvw5qunvh4] { font-size: .74rem; color: var(--lt-muted); }
.lt-ag__tag[b-vvw5qunvh4] { font-size: .66rem; font-weight: 700; padding: .1rem .4rem; border-radius: 999px; background: var(--lt-brand-tint); color: var(--lt-brand-700); }

.lt-ag__detail[b-vvw5qunvh4] {
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius);
    box-shadow: var(--lt-shadow); padding: 1.1rem 1.3rem; min-height: 200px;
}
.lt-ag__form[b-vvw5qunvh4] { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1rem; }

.lt-ag__tabs[b-vvw5qunvh4] { display: flex; gap: .3rem; margin: 1rem 0 .7rem; border-bottom: 2px solid var(--lt-line); }
.lt-ag__tabs button[b-vvw5qunvh4] {
    padding: .4rem .8rem; border: none; background: transparent; font-size: .84rem; font-weight: 600;
    color: var(--lt-muted); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px;
}
.lt-ag__tabs button.is-active[b-vvw5qunvh4] { color: var(--lt-brand-700); border-bottom-color: var(--lt-brand); }
.lt-ag__tabs button:disabled[b-vvw5qunvh4] { opacity: .4; cursor: not-allowed; }

.lt-ag__treehd[b-vvw5qunvh4] { display: flex; justify-content: flex-end; margin-bottom: .3rem; }
.lt-ag__treeactions[b-vvw5qunvh4] { display: flex; gap: .8rem; }
.lt-ag__link[b-vvw5qunvh4] { background: none; border: none; color: var(--lt-brand-700); font-size: .78rem; font-weight: 700; cursor: pointer; padding: 0; }
.lt-ag__link:hover[b-vvw5qunvh4] { text-decoration: underline; }

.lt-ag__tree[b-vvw5qunvh4] {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .8rem 1.2rem;
    max-height: 46vh; overflow-y: auto; padding: .4rem; border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm); background: var(--lt-surface-2);
}
.lt-ag__cat[b-vvw5qunvh4] { break-inside: avoid; }
.lt-ag__cathd[b-vvw5qunvh4] {
    display: flex; align-items: center; gap: .4rem; font-size: .72rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .03em; color: var(--lt-brand-700);
    padding-bottom: .3rem; margin-bottom: .3rem; border-bottom: 1px solid var(--lt-brand-tint); cursor: pointer;
}
.lt-ag__perms[b-vvw5qunvh4] { display: flex; flex-direction: column; gap: .25rem; padding-left: .2rem; }
.lt-ag__perm[b-vvw5qunvh4] { display: flex; align-items: center; gap: .4rem; font-size: .84rem; color: var(--lt-ink); cursor: pointer; }
.lt-ag__perm input[b-vvw5qunvh4], .lt-ag__cathd input[b-vvw5qunvh4] { accent-color: var(--lt-brand); width: 15px; height: 15px; }

.lt-ag__members[b-vvw5qunvh4] { display: flex; flex-direction: column; gap: .3rem; max-height: 40vh; overflow-y: auto; }
.lt-ag__member[b-vvw5qunvh4] {
    display: flex; align-items: center; justify-content: space-between; gap: .6rem;
    padding: .45rem .7rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); background: var(--lt-surface);
}
.lt-ag__member strong[b-vvw5qunvh4] { font-size: .88rem; color: var(--lt-ink); }
.lt-ag__member small[b-vvw5qunvh4] { font-size: .74rem; color: var(--lt-muted); margin-left: .35rem; }
.lt-ag__memberdel[b-vvw5qunvh4] {
    border: 1px solid var(--lt-line); background: var(--lt-surface); color: var(--lt-danger, #b3261e);
    border-radius: 8px; width: 28px; height: 28px; cursor: pointer; font-weight: 700;
}
.lt-ag__memberdel:hover[b-vvw5qunvh4] { background: var(--lt-danger-tint, #fdecea); border-color: var(--lt-danger, #b3261e); }

.lt-ag__addmember[b-vvw5qunvh4] { display: flex; gap: .5rem; margin-top: .8rem; }
.lt-ag__addmember select[b-vvw5qunvh4] {
    flex: 1; box-sizing: border-box; height: 36px; padding: 0 1.8rem 0 .5rem; border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm); font: inherit; font-size: .86rem;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    background-color: var(--lt-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%237a8590' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .55rem center; background-size: 11px 7px;
}

.lt-ag__actions[b-vvw5qunvh4] { margin-top: 1rem; display: flex; justify-content: flex-end; gap: .5rem; }
.lt-ag__note[b-vvw5qunvh4] { color: var(--lt-muted); font-size: .84rem; }

/* Permissão sem guarda no servidor (ver PermissionDto.Aplicada). Discreta de propósito: é informação
   de estado, não um alarme — a regra de realce da casa é "realce = estado acionável", e aqui o
   acionável é para NÓS (ligar a guarda), não para o gerente. */
.lt-ag__inerte[b-vvw5qunvh4] {
    margin-left: .4rem; padding: 0 .35rem;
    font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em;
    color: var(--lt-muted, #64748b);
    border: 1px solid var(--lt-line, #e2e8f0); border-radius: 999px;
}
.lt-ag__cobertura[b-vvw5qunvh4] {
    margin: .5rem 0 0; font-size: .8rem; color: var(--lt-muted, #64748b);
}
/* _content/Logitools.Client.Shared/Components/Admin/AdminLicensingSection.razor.rz.scp.css */
.lt-al[b-9ro17jlo4k] { max-width: 860px; }
.lt-al__h[b-9ro17jlo4k] { margin: 0 0 .4rem; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--lt-brand-700); }
.lt-al__note[b-9ro17jlo4k] { color: var(--lt-muted); font-size: .84rem; margin: 0 0 .8rem; }
.lt-al__pick[b-9ro17jlo4k] { max-width: 380px; margin-bottom: 1rem; }
.lt-al__grid[b-9ro17jlo4k] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .35rem 1rem; }
.lt-al__actions[b-9ro17jlo4k] { margin-top: 1.2rem; display: flex; justify-content: flex-end; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminParametrosSection.razor.rz.scp.css */
/* Parâmetros do sistema (#124). Ecrã de trabalho: usa toda a largura, e a grelha é uniforme —
   o realce (lt-pa__r--dirty) marca ESTADO ACIONÁVEL (alterado, por gravar), não "coluna importante". */

.lt-pa[b-c9csrdu4ud] {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    width: 100%;
}

/* ── seletores dos três registos ───────────────────────────────────────────────────────────────────
   PASTILHAS (a gramática da ficha de produto v2, `.lt-fx2__tabs`), não separadores de pasta: o estilo
   "aba que se funde numa linha" só funciona ligado a um PAINEL fechado por baixo — aqui o conteúdo é
   uma grelha de trabalho a toda a largura, e a aba solta parecia "a parte de cima de uma tab sem
   ligação" (feedback do dono, 2026-08-03). E as pastilhas dizem a verdade do modelo: são TRÊS
   REGISTOS INDEPENDENTES (spec §1), não um documento com três vistas. */
.lt-pa__tabs[b-c9csrdu4ud] {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
}

.lt-pa__tab[b-c9csrdu4ud] {
    appearance: none;
    padding: .42rem .95rem;
    border: 1px solid var(--lt-line, #e2e8f0);
    border-radius: var(--lt-radius-sm, 8px);
    background: var(--lt-surface, #fff);
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    color: var(--lt-muted, #64748b);
    cursor: pointer;
}

.lt-pa__tab:hover:not(.is-on)[b-c9csrdu4ud] { background: var(--lt-surface-2, #f8fafc); }

.lt-pa__tab.is-on[b-c9csrdu4ud] {
    background: var(--lt-brand-tint, #eff6ff);
    border-color: var(--lt-brand, #2563eb);
    color: var(--lt-brand-700, #1d4ed8);
}

/* ── barra de filtros ──────────────────────────────────────────────────────────────────────────── */
.lt-pa__bar[b-c9csrdu4ud] {
    display: flex;
    align-items: flex-end;
    gap: .75rem;
    flex-wrap: wrap;
}

.lt-pa__bar[b-c9csrdu4ud] >  .lt-field:first-child { min-width: 12rem; }
.lt-pa__bar[b-c9csrdu4ud] >  .lt-field:nth-child(2) { min-width: 16rem; flex: 1 1 16rem; }

.lt-pa__count[b-c9csrdu4ud] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    color: var(--lt-muted, #64748b);
    white-space: nowrap;
    padding-bottom: .35rem;
}

.lt-pa__dirty[b-c9csrdu4ud] {
    font-weight: 600;
    color: var(--lt-warning, #92400e);
    background: var(--lt-warning-tint, #fef3c7);
    border-radius: 999px;
    padding: .1rem .5rem;
}

.lt-pa__acoes[b-c9csrdu4ud] {
    display: flex;
    gap: .5rem;
    margin-left: auto;
    padding-bottom: .35rem;
}

/* ── grelha ────────────────────────────────────────────────────────────────────────────────────── */
.lt-pa__c-nome[b-c9csrdu4ud] { width: 40%; }
.lt-pa__c-area[b-c9csrdu4ud] { width: 10%; white-space: nowrap; }
.lt-pa__c-valor[b-c9csrdu4ud] { width: 30%; }
.lt-pa__c-obs[b-c9csrdu4ud] { width: 20%; }

.lt-pa__nome[b-c9csrdu4ud] { display: block; }

.lt-pa__stamp[b-c9csrdu4ud] {
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, monospace;
    font-size: .72rem;
    color: var(--lt-muted, #64748b);
}

.lt-pa__flag[b-c9csrdu4ud] {
    display: inline-block;
    margin-left: .4rem;
    padding: .05rem .4rem;
    border: 1px solid var(--lt-line, #e2e8f0);
    border-radius: 999px;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--lt-muted, #64748b);
    vertical-align: middle;
}

/* Ausência de parâmetro numa loja: no legado isto FECHA a aplicação quando alguém o pede. */
.lt-pa__flag--falta[b-c9csrdu4ud] {
    border-color: var(--lt-danger, #dc2626);
    color: var(--lt-danger, #dc2626);
}

.lt-pa__r--dirty > td[b-c9csrdu4ud] { background: var(--lt-warning-tint, #fffbeb); }

.lt-pa__num[b-c9csrdu4ud] {
    display: inline-flex;
    align-items: baseline;
    gap: .35rem;
}

.lt-pa__num[b-c9csrdu4ud]  .lt-ctl { max-width: 9rem; }
.lt-pa__unid[b-c9csrdu4ud] { font-size: .8rem; color: var(--lt-muted, #64748b); }
.lt-pa__vazio[b-c9csrdu4ud] { color: var(--lt-muted, #64748b); }

/* Vários editores na mesma célula (medido: 8 parâmetros com texto+bool, 1 com os três). */
.lt-pa__c-valor > :not(:first-child)[b-c9csrdu4ud] { margin-top: .3rem; }

.lt-pa__note[b-c9csrdu4ud] {
    margin: 0;
    font-size: .85rem;
    color: var(--lt-muted, #64748b);
}
/* _content/Logitools.Client.Shared/Components/Admin/AdminSeriesSection.razor.rz.scp.css */
/* Séries & ATCUD (#129). O vermelho é estado ACIONÁVEL (série fiscal bloqueada), não decoração.
   ⚠️ O prefixo é `lt-serie` e NÃO `lt-sr`: o tema tem `.lt-sr` como utilitário screen-reader-only
   (position:absolute + 1px + overflow:hidden) e a colisão tornava a secção INVISÍVEL com o DOM
   perfeito — o pior tipo de bug. Antes de cunhar um prefixo novo, grep ao theme.css. */
.lt-serie[b-df896gtz3c] { display: flex; flex-direction: column; gap: .75rem; width: 100%; }
.lt-serie__bar[b-df896gtz3c] { display: flex; align-items: flex-end; gap: .75rem; flex-wrap: wrap; }
.lt-serie__bar[b-df896gtz3c] >  .lt-field { min-width: 12rem; }
.lt-serie__count[b-df896gtz3c] { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--lt-muted, #64748b); padding-bottom: .35rem; }
.lt-serie__falta[b-df896gtz3c] { font-weight: 600; color: var(--lt-danger, #dc2626); background: var(--lt-danger-tint, #fee2e2); border-radius: 999px; padding: .1rem .5rem; }
.lt-serie__dirty[b-df896gtz3c] { font-weight: 600; color: var(--lt-warning, #92400e); background: var(--lt-warning-tint, #fef3c7); border-radius: 999px; padding: .1rem .5rem; }
.lt-serie__acoes[b-df896gtz3c] { display: flex; gap: .5rem; margin-left: auto; padding-bottom: .35rem; }
.lt-serie__note[b-df896gtz3c] { margin: 0; font-size: .85rem; color: var(--lt-muted, #64748b); max-width: 80ch; }
.lt-serie__ndoc[b-df896gtz3c] { font-family: ui-monospace, SFMono-Regular, monospace; }
.lt-serie__flag[b-df896gtz3c] { display: inline-block; margin-left: .4rem; padding: .05rem .4rem; border: 1px solid var(--lt-line, #e2e8f0); border-radius: 999px; font-size: .68rem; text-transform: uppercase; color: var(--lt-muted, #64748b); }
.lt-serie__flag--falta[b-df896gtz3c] { border-color: var(--lt-danger, #dc2626); color: var(--lt-danger, #dc2626); }
.lt-serie__r--dirty > td[b-df896gtz3c] { background: var(--lt-warning-tint, #fffbeb); }
.lt-serie__c-atcud[b-df896gtz3c] { width: 22rem; }
.lt-serie__trancado[b-df896gtz3c] { display: inline-block; padding: .3rem .1rem; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; cursor: help; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminStoresSection.razor.rz.scp.css */
.lt-as[b-vljny1fskf] { max-width: 640px; }
.lt-as__h[b-vljny1fskf] { margin: 0 0 .8rem; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; color: var(--lt-brand-700); }
.lt-as__note[b-vljny1fskf] { color: var(--lt-muted); font-size: .84rem; margin-top: .6rem; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminTiposDocumentoSection.razor.rz.scp.css */
/* Tipos de documento (specs/sistema/tipos-de-documento.spec.md) — lista à esquerda, detalhe à direita, a toda a largura.
   O bloco é `lt-tdoc` (e não `lt-td`, que lembraria a célula de uma tabela). */
.lt-tdoc[b-hv8zx4spke] { display: flex; flex-direction: column; gap: .8rem; }

/* ── separadores das quatro famílias (o padrão dos Parâmetros do sistema) ───────────────────────── */
.lt-tdoc__tabs[b-hv8zx4spke] { display: flex; gap: .35rem; flex-wrap: wrap; }
.lt-tdoc__tab[b-hv8zx4spke] {
    appearance: none; padding: .42rem .95rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font: inherit; font-size: .88rem; color: var(--lt-ink-2); cursor: pointer;
}
.lt-tdoc__tab:hover:not(.is-on)[b-hv8zx4spke] { background: var(--lt-surface-2); }
.lt-tdoc__tab.is-on[b-hv8zx4spke] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-brand-700); }
.lt-tdoc__tabcode[b-hv8zx4spke] { font-size: .72rem; color: var(--lt-muted); font-family: var(--lt-mono, ui-monospace, monospace); }

/* ── barra: loja, procura, filtro e contagem ────────────────────────────────────────────────────── */
.lt-tdoc__bar[b-hv8zx4spke] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1rem; }
.lt-tdoc__count[b-hv8zx4spke] { margin-left: auto; padding-bottom: .55rem; font-size: .82rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }

.lt-tdoc__layout[b-hv8zx4spke] { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(420px, 1.9fr); gap: 1.2rem; align-items: start; }
@media (max-width: 1040px) { .lt-tdoc__layout[b-hv8zx4spke] { grid-template-columns: 1fr; } }

/* ── lista ──────────────────────────────────────────────────────────────────────────────────────── */
.lt-tdoc__list[b-hv8zx4spke] { display: flex; flex-direction: column; gap: .35rem; max-height: 70vh; overflow-y: auto; }
.lt-tdoc__row[b-hv8zx4spke] {
    display: flex; align-items: center; justify-content: space-between; gap: .6rem;
    padding: .5rem .65rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); cursor: pointer; text-align: left; width: 100%; font: inherit;
}
.lt-tdoc__row:hover[b-hv8zx4spke] { background: var(--lt-surface-2); }
.lt-tdoc__row.is-active[b-hv8zx4spke] { border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-tdoc__rowmain[b-hv8zx4spke] { display: flex; flex-direction: column; min-width: 0; }
.lt-tdoc__rowmain strong[b-hv8zx4spke] { font-size: .9rem; font-weight: 600; color: var(--lt-ink); }
.lt-tdoc__rowmain small[b-hv8zx4spke] { font-size: .76rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-tdoc__tags[b-hv8zx4spke] { display: flex; flex-wrap: wrap; gap: .25rem; justify-content: flex-end; }
/* Etiquetas neutras: «inativo» e «comum» são estado, não alarme (disciplina do realce). */
.lt-tdoc__tag[b-hv8zx4spke] {
    font-size: .68rem; font-weight: 600; padding: .1rem .45rem; border-radius: 999px;
    background: var(--lt-surface-2); color: var(--lt-muted); white-space: nowrap;
}

/* ── detalhe ────────────────────────────────────────────────────────────────────────────────────── */
.lt-tdoc__detail[b-hv8zx4spke] {
    display: flex; flex-direction: column; gap: .9rem;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius);
    box-shadow: var(--lt-shadow); padding: 1.1rem 1.3rem; min-height: 220px;
}
.lt-tdoc__h[b-hv8zx4spke] { margin: 0; font-size: 1.05rem; color: var(--lt-ink); }
.lt-tdoc__meta[b-hv8zx4spke] { margin: .15rem 0 0; font-size: .82rem; color: var(--lt-muted); }
.lt-tdoc__facets[b-hv8zx4spke] { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; font-variant-numeric: tabular-nums; }

.lt-tdoc__sec[b-hv8zx4spke] { display: flex; flex-direction: column; gap: .45rem; }
.lt-tdoc__sech[b-hv8zx4spke] { margin: 0; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--lt-muted); }
.lt-tdoc__ajuda[b-hv8zx4spke] { margin: 0; font-size: .8rem; color: var(--lt-muted); max-width: 70ch; }

.lt-tdoc__campo code[b-hv8zx4spke] { margin-left: .35rem; font-size: .72rem; color: var(--lt-muted); }
/* O LtGrid não quebra linhas (white-space: nowrap); aqui o valor e o porquê quebram, senão a tabela foge para a direita. */
.lt-tdoc__c-valor[b-hv8zx4spke] { white-space: normal; }
.lt-tdoc__porque[b-hv8zx4spke] { display: block; margin-top: .15rem; font-size: .76rem; color: var(--lt-muted); max-width: 70ch; }
.lt-tdoc__c-lock[b-hv8zx4spke] { width: 2.2rem; text-align: center; cursor: help; }
tr.is-locked td[b-hv8zx4spke] { color: var(--lt-ink-2); }

.lt-tdoc__note[b-hv8zx4spke] { margin: 0; padding: .6rem 0; font-size: .86rem; color: var(--lt-muted); }

/* ── D2: a edição de um tipo sem documentos ────────────────────────────────────────────────────── */
.lt-tdoc__form[b-hv8zx4spke] { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .6rem 1rem; align-items: end; }
.lt-tdoc__acoes[b-hv8zx4spke] { display: flex; gap: .5rem; justify-content: flex-end; }
.lt-tdoc__acoes--topo[b-hv8zx4spke] { justify-content: flex-start; flex-wrap: wrap; }

/* ── D4: os operacionais (com ou sem documentos) e os que só o programa antigo aplica ─────────────── */
.lt-tdoc__oper[b-hv8zx4spke] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .6rem 1rem; align-items: end; margin-top: .5rem; }
.lt-tdoc__fox[b-hv8zx4spke] { margin-top: .4rem; border-top: 1px solid var(--lt-line); padding-top: .5rem; }
.lt-tdoc__fox > summary[b-hv8zx4spke] { cursor: pointer; font-size: .82rem; font-weight: 600; color: var(--lt-ink-2); }
.lt-tdoc__fox > summary:focus-visible[b-hv8zx4spke] { outline: 2px solid var(--lt-brand-700); outline-offset: 2px; border-radius: 4px; }
.lt-tdoc__fox[open] > summary[b-hv8zx4spke] { margin-bottom: .35rem; }
/* _content/Logitools.Client.Shared/Components/Admin/AdminUsersSection.razor.rz.scp.css */
.lt-au[b-x56818mqe9] { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(360px, 1.6fr); gap: 1.2rem; align-items: start; }
@media (max-width: 980px) { .lt-au[b-x56818mqe9] { grid-template-columns: 1fr; } }

.lt-au__list[b-x56818mqe9] { display: flex; flex-direction: column; gap: .4rem; }
.lt-au__listhead[b-x56818mqe9] { display: flex; gap: .5rem; margin-bottom: .4rem; }
.lt-au__search[b-x56818mqe9] {
    flex: 1; height: 36px; padding: 0 .6rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font: inherit; font-size: .86rem;
}
.lt-au__row[b-x56818mqe9] {
    display: flex; align-items: center; justify-content: space-between; gap: .6rem;
    padding: .55rem .7rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); cursor: pointer; text-align: left; width: 100%;
}
.lt-au__row:hover[b-x56818mqe9] { background: var(--lt-surface-2); }
.lt-au__row.is-active[b-x56818mqe9] { border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-au__rowmain[b-x56818mqe9] { display: flex; flex-direction: column; min-width: 0; }
.lt-au__rowmain strong[b-x56818mqe9] { font-size: .92rem; color: var(--lt-ink); }
.lt-au__rowmain small[b-x56818mqe9] { font-size: .76rem; color: var(--lt-muted); }
.lt-au__badges[b-x56818mqe9] { display: flex; flex-wrap: wrap; gap: .3rem; justify-content: flex-end; }
.lt-au__tag[b-x56818mqe9] { font-size: .66rem; font-weight: 700; padding: .1rem .4rem; border-radius: 999px; background: var(--lt-brand-tint); color: var(--lt-brand-700); white-space: nowrap; }
.lt-au__tag.is-admin[b-x56818mqe9] { background: var(--lt-success-tint, #e7f6ee); color: #1e6b46; }
.lt-au__tag.is-warn[b-x56818mqe9] { background: var(--lt-warning-tint, #fff3d6); color: #8a5a12; }
.lt-au__tag.is-off[b-x56818mqe9] { background: var(--lt-danger-tint, #fdecea); color: var(--lt-danger, #b3261e); }

.lt-au__detail[b-x56818mqe9] {
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius);
    box-shadow: var(--lt-shadow); padding: 1.1rem 1.3rem; min-height: 200px;
}
.lt-au__head[b-x56818mqe9] { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.lt-au__h[b-x56818mqe9] { margin: 0; font-size: 1.02rem; color: var(--lt-ink); }
.lt-au__meta[b-x56818mqe9] { margin: .15rem 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-au__roletoggle[b-x56818mqe9] { display: inline-flex; align-items: center; gap: .4rem; font-size: .84rem; font-weight: 600; color: var(--lt-ink); cursor: pointer; white-space: nowrap; }
.lt-au__roletoggle input[b-x56818mqe9] { accent-color: var(--lt-brand); width: 16px; height: 16px; }

.lt-au__sub[b-x56818mqe9] {
    margin: 1.2rem 0 .5rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em;
    color: var(--lt-brand-700); border-bottom: 1px solid var(--lt-brand-tint); padding-bottom: .3rem;
}
.lt-au__sub--danger[b-x56818mqe9] { color: var(--lt-danger, #b3261e); border-bottom-color: var(--lt-danger-tint, #fdecea); }

.lt-au__form[b-x56818mqe9] { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1rem; }
.lt-au__checks[b-x56818mqe9] { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .3rem .8rem; }
.lt-au__security[b-x56818mqe9] { display: flex; flex-wrap: wrap; gap: .6rem; align-items: flex-end; }
.lt-au__resetrow[b-x56818mqe9] { display: flex; gap: .5rem; align-items: flex-end; flex: 1; min-width: 260px; }
.lt-au__resetrow > :first-child[b-x56818mqe9] { flex: 1; }
.lt-au__inlineactions[b-x56818mqe9] { margin-top: .6rem; display: flex; justify-content: flex-end; gap: .5rem; }

/* Permissões efetivas (read-only) */
.lt-au__fullaccess[b-x56818mqe9] { padding: .5rem .7rem; border-radius: var(--lt-radius-sm); background: var(--lt-success-tint, #e7f6ee); color: #1e6b46; font-size: .85rem; font-weight: 700; }
.lt-au__warn[b-x56818mqe9] { padding: .5rem .7rem; border-radius: var(--lt-radius-sm); background: var(--lt-warning-tint, #fff3d6); color: #8a5a12; font-size: .85rem; }
.lt-au__eff[b-x56818mqe9] { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .6rem 1rem; }
.lt-au__effcat[b-x56818mqe9] { display: flex; flex-direction: column; gap: .2rem; }
.lt-au__effcathd[b-x56818mqe9] { font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: var(--lt-brand-700); border-bottom: 1px solid var(--lt-brand-tint); padding-bottom: .2rem; }
.lt-au__effperm[b-x56818mqe9] { font-size: .82rem; color: var(--lt-ink); }
.lt-au__runtimenote[b-x56818mqe9] { margin-top: .5rem; font-size: .72rem; color: var(--lt-muted); font-style: italic; }
.lt-au__actions[b-x56818mqe9] { margin-top: 1.2rem; display: flex; justify-content: flex-end; gap: .5rem; }
.lt-au__note[b-x56818mqe9] { color: var(--lt-muted); font-size: .84rem; }
/* _content/Logitools.Client.Shared/Components/CaixaDiaView.razor.rz.scp.css */
.lt-dv__msg[b-6xf6biuyh1] {
    color: var(--lt-muted, #64748b);
    margin: 0.5rem 0;
}

.lt-dv__meta[b-6xf6biuyh1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 1rem;
}

.lt-dv__pill[b-6xf6biuyh1] {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: var(--lt-surface-2, #f1f5f9);
    color: var(--lt-muted, #475569);
    border: 1px solid var(--lt-border, #e2e8f0);
    text-transform: capitalize;
}

.lt-dv__pill.is-ok[b-6xf6biuyh1] {
    background: color-mix(in srgb, #16a34a 12%, transparent);
    color: #15803d;
    border-color: color-mix(in srgb, #16a34a 30%, transparent);
}

.lt-dv__pill.is-danger[b-6xf6biuyh1] {
    background: color-mix(in srgb, #dc2626 12%, transparent);
    color: #b91c1c;
    border-color: color-mix(in srgb, #dc2626 30%, transparent);
}

.lt-dv__ok[b-6xf6biuyh1] {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #15803d;
    background: color-mix(in srgb, #16a34a 10%, transparent);
    border: 1px solid color-mix(in srgb, #16a34a 28%, transparent);
    border-radius: 0.5rem;
    padding: 0.5rem 0.8rem;
}

.lt-dv__card[b-6xf6biuyh1] {
    background: var(--lt-surface, #fff);
    border: 1px solid var(--lt-border, #e2e8f0);
    border-radius: 0.9rem;
    padding: 1.1rem 1.3rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    margin-bottom: 1rem;
}

.lt-dv__card h2[b-6xf6biuyh1] {
    margin: 0 0 0.8rem;
    font-size: 1.05rem;
}

.lt-dv__grid[b-6xf6biuyh1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.75rem;
}

.lt-dv__stat[b-6xf6biuyh1] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.7rem 0.85rem;
    border-radius: 0.6rem;
    background: var(--lt-surface-2, #f8fafc);
    border: 1px solid var(--lt-border, #eef2f7);
}

.lt-dv__k[b-6xf6biuyh1] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--lt-muted, #64748b);
}

.lt-dv__v[b-6xf6biuyh1] {
    font-size: 1.1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.lt-dv__tabwrap[b-6xf6biuyh1] {
    overflow-x: auto;
}

.lt-dv__tab[b-6xf6biuyh1] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.lt-dv__tab th[b-6xf6biuyh1],
.lt-dv__tab td[b-6xf6biuyh1] {
    padding: 0.45rem 0.7rem;
    border-bottom: 1px solid var(--lt-border, #eef2f7);
    text-align: left;
}

.lt-dv__tab th.num[b-6xf6biuyh1],
.lt-dv__tab td.num[b-6xf6biuyh1] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lt-dv__tab thead th[b-6xf6biuyh1] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--lt-muted, #64748b);
}

.lt-dv__tag[b-6xf6biuyh1] {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
}

.lt-dv__tag.is-ok[b-6xf6biuyh1] {
    background: color-mix(in srgb, #16a34a 12%, transparent);
    color: #15803d;
}

.lt-dv__tag.is-open[b-6xf6biuyh1] {
    background: color-mix(in srgb, #d97706 14%, transparent);
    color: #92400e;
}

.lt-dv__note[b-6xf6biuyh1] {
    margin: 0 0 0.9rem;
    color: var(--lt-muted, #64748b);
    font-size: 0.88rem;
    line-height: 1.4;
}

.lt-dv__note.is-warn[b-6xf6biuyh1] {
    color: #92400e;
    font-weight: 600;
}

/* Confirmação em dois passos da reabertura do dia (CX-G4). */
.lt-dv__btns[b-6xf6biuyh1] {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}
/* _content/Logitools.Client.Shared/Components/ClienteEdit.razor.rz.scp.css */
/* A tranca do NIF/nome (Despacho 8632/2014, 3.3.3/3.3.4): o porquê à vista, a toda a largura da secção. O resto da ficha
   usa as classes do tema (lt-fi__*). */
.lt-cli__trancado[b-mptnht85ae] { grid-column: 1 / -1; margin: 0; font-size: .8rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/ClienteNovaNota.razor.rz.scp.css */
/* A nota de acompanhamento no separador «Histórico»: um botão, e ao abrir o texto, a marca de saúde e as ações. Bloco próprio
   `lt-cnota`, sem realce — é uma ação, não um estado. */
.lt-cnota[b-4uzhs5mcc5] { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
.lt-cnota[b-4uzhs5mcc5] >  .lt-btn { align-self: flex-start; }
.lt-cnota__acoes[b-4uzhs5mcc5] { display: flex; gap: .5rem; }
.lt-cnota__erro[b-4uzhs5mcc5] { margin: 0; font-size: .84rem; color: var(--lt-danger-ink, var(--lt-ink)); }
/* _content/Logitools.Client.Shared/Components/ClienteRegisto.razor.rz.scp.css */
/* O registo da ficha (R4/R6) no separador «Histórico». Bloco próprio `lt-cregisto`. Tabela uniforme, como o histórico
   de campos do Salesforce; cada gravação é um <tbody> (a data e quem gravou uma vez por gravação). Realce só no que
   é estado: o segredo que não se mostra. */
.lt-cregisto[b-495r6hx9bo] { margin-top: 1.6rem; }
.lt-cregisto__bloco[b-495r6hx9bo] { grid-column: 1 / -1; min-width: 0; }
.lt-cregisto__msg[b-495r6hx9bo] { margin: 0; padding: 1.25rem .25rem; color: var(--lt-muted); text-align: center; font-size: .86rem; }
.lt-cregisto__msg--erro[b-495r6hx9bo] { color: var(--lt-danger-ink, var(--lt-ink)); }
.lt-cregisto__resumo[b-495r6hx9bo] { margin: 0 0 .5rem; font-size: .84rem; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-cregisto__nota[b-495r6hx9bo] { margin: .5rem 0 0; font-size: .78rem; color: var(--lt-muted); }

.lt-cregisto__rolo[b-495r6hx9bo] { overflow-x: auto; border: 1px solid var(--lt-line); border-radius: 8px; }
.lt-cregisto__rolo.is-alto[b-495r6hx9bo] { max-height: 26rem; overflow-y: auto; }
.lt-cregisto__rolo:focus-visible[b-495r6hx9bo] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-cregisto__tabela[b-495r6hx9bo] { width: 100%; border-collapse: collapse; font-size: .84rem; }
.lt-cregisto__tabela thead th[b-495r6hx9bo] {
    position: sticky; top: 0; z-index: 1;
    padding: 8px 12px; text-align: left; white-space: nowrap; background: var(--lt-surface);
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-cregisto__tabela tbody th[b-495r6hx9bo], .lt-cregisto__tabela td[b-495r6hx9bo] {
    padding: 7px 12px; text-align: left; font-weight: 400; vertical-align: top; border-bottom: 1px solid var(--lt-line);
}
.lt-cregisto__gravacao:last-child tr:last-child > *[b-495r6hx9bo], .lt-cregisto__tabela tbody:not(.lt-cregisto__gravacao) tr:last-child > *[b-495r6hx9bo] { border-bottom: 0; }
.lt-cregisto__gravacao + .lt-cregisto__gravacao tr:first-child > *[b-495r6hx9bo] { border-top: 2px solid var(--lt-line); }
.lt-cregisto__quando[b-495r6hx9bo] { white-space: nowrap; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-cregisto__campo[b-495r6hx9bo] { font-weight: 600 !important; color: var(--lt-ink); white-space: nowrap; }
.lt-cregisto__valor[b-495r6hx9bo], .lt-cregisto__texto[b-495r6hx9bo] { white-space: pre-line; overflow-wrap: anywhere; color: var(--lt-ink); }
.lt-cregisto__oculto[b-495r6hx9bo] { font-style: italic; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Comparticipacao/EntidadeEstado.razor.rz.scp.css */
/* A marca «é o Estado» da entidade, no detalhe do plano. */
.lt-entestado[b-c9biqmm8ev] { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .9rem; margin: .2rem 0 .6rem; }
.lt-entestado__texto[b-c9biqmm8ev] { font-size: .86rem; color: var(--lt-ink); }
.lt-entestado__ajuda[b-c9biqmm8ev] { flex-basis: 100%; font-size: .8rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Comparticipacao/ReceitaDialog.razor.rz.scp.css */
.lt-receita__overlay[b-vh62yhref0] {
    position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center;
    background: rgba(15, 27, 42, .45);
}
.lt-receita[b-vh62yhref0] {
    background: var(--lt-surface); border-radius: var(--lt-radius); box-shadow: var(--lt-shadow-lg, 0 18px 50px rgba(0,0,0,.3));
    padding: 1.3rem 1.5rem; width: min(560px, calc(100vw - 2rem)); display: flex; flex-direction: column; gap: .8rem;
}
.lt-receita__title[b-vh62yhref0] { margin: 0; font-size: 1.05rem; color: var(--lt-ink); }
.lt-receita__plano[b-vh62yhref0] { margin: -.4rem 0 0; font-size: .88rem; color: var(--lt-muted); }
.lt-receita__grid[b-vh62yhref0] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; }
.lt-receita__ajuda[b-vh62yhref0] { margin: 0; font-size: .8rem; color: var(--lt-muted); }
.lt-receita__actions[b-vh62yhref0] { display: flex; justify-content: flex-end; gap: .5rem; }
@media (max-width: 520px) { .lt-receita__grid[b-vh62yhref0] { grid-template-columns: 1fr; } }
/* _content/Logitools.Client.Shared/Components/Crm/CrmAcessos.razor.rz.scp.css */
/* O registo de acessos às fichas (R4 do RGPD; O8 do CRM). Bloco próprio `lt-crm-acessos`, com o aspeto do registo RGPD
   ao lado (CrmConsentimentos): cartão, cabeçalho, tabela uniforme. Lado a lado quando o PRÓPRIO cartão é largo (container
   query, como o LtGraficoBarras — a janela não diz quanto espaço sobra ao lado do menu), um por baixo do outro senão.
   Realce = estado: só o operador escolhido. */
.lt-crm-acessos[b-4aogoqwqkz] {
    container-type: inline-size;
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-acessos__cabeca[b-4aogoqwqkz] { padding: 14px 18px 4px; }
.lt-crm-acessos__h2[b-4aogoqwqkz] { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-acessos__sub[b-4aogoqwqkz] { margin: 3px 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-acessos__topo[b-4aogoqwqkz] {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px;
    padding: 8px 18px 12px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-acessos__intervalo[b-4aogoqwqkz] { padding-bottom: 6px; font-size: .8rem; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-crm-acessos__estado[b-4aogoqwqkz] { padding-bottom: 6px; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-acessos__msg[b-4aogoqwqkz] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-acessos__corpo[b-4aogoqwqkz] { padding: 14px 18px; }
.lt-crm-acessos__acoes[b-4aogoqwqkz] { margin: .5rem 0 0; }

.lt-crm-acessos__grelha[b-4aogoqwqkz] { display: grid; grid-template-columns: minmax(0, 1fr); }
.lt-crm-acessos__bloco + .lt-crm-acessos__bloco[b-4aogoqwqkz] { border-top: 1px solid var(--lt-line); }
@container (min-width: 80rem) {
    .lt-crm-acessos__grelha[b-4aogoqwqkz] { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
    .lt-crm-acessos__bloco + .lt-crm-acessos__bloco[b-4aogoqwqkz] { border-top: 0; border-left: 1px solid var(--lt-line); }
}
.lt-crm-acessos__bloco[b-4aogoqwqkz] { min-width: 0; padding: 12px 0 0; }
.lt-crm-acessos__h3[b-4aogoqwqkz] { margin: 0; padding: 0 18px; font-size: .88rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-acessos__titulo-lista[b-4aogoqwqkz] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px; padding-right: 12px; }
.lt-crm-acessos__nota[b-4aogoqwqkz] { margin: 3px 0 8px; padding: 0 18px; font-size: .78rem; color: var(--lt-muted); }

.lt-crm-acessos__rolo[b-4aogoqwqkz] { overflow-x: auto; }
.lt-crm-acessos__rolo.is-alto[b-4aogoqwqkz] { max-height: 34rem; overflow-y: auto; }
.lt-crm-acessos__rolo:focus-visible[b-4aogoqwqkz] { outline: 2px solid var(--lt-brand); outline-offset: -2px; }
.lt-crm-acessos__tabela[b-4aogoqwqkz] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-acessos__tabela thead th[b-4aogoqwqkz] {
    position: sticky; top: 0; z-index: 1;
    padding: 10px 18px; text-align: left; white-space: nowrap; background: var(--lt-surface);
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-acessos__tabela tbody th[b-4aogoqwqkz], .lt-crm-acessos__tabela td[b-4aogoqwqkz] {
    padding: 9px 18px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-acessos__tabela .is-num[b-4aogoqwqkz] { text-align: right; font-variant-numeric: tabular-nums; }
.lt-crm-acessos__tabela tbody tr:last-child > *[b-4aogoqwqkz] { border-bottom: 0; }
.lt-crm-acessos__tabela tbody tr:hover > *[b-4aogoqwqkz] { background: var(--lt-surface-2); }
.lt-crm-acessos__tabela tbody tr.is-on > *[b-4aogoqwqkz] { background: var(--lt-brand-tint); }
.lt-crm-acessos__quando[b-4aogoqwqkz] { white-space: nowrap; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }

/* O nome filtra a lista: tem o aspeto de ligação da casa (lt-btn--link: cor da marca e sublinhado), sem o enchimento
   de botão que desalinhava a coluna. */
.lt-crm-acessos__op[b-4aogoqwqkz] {
    padding: 0; border: 0; background: none; font: inherit; font-weight: 600; text-align: left; cursor: pointer;
    color: var(--lt-brand-700); text-decoration: underline; text-underline-offset: 2px;
    text-decoration-color: color-mix(in srgb, var(--lt-brand-700) 45%, transparent);
}
.lt-crm-acessos__op:hover[b-4aogoqwqkz] { text-decoration-color: currentColor; }
.lt-crm-acessos__op:focus-visible[b-4aogoqwqkz] { outline: 2px solid var(--lt-brand); outline-offset: 2px; border-radius: 2px; }
.lt-crm-acessos__ini[b-4aogoqwqkz] { display: block; font-size: .72rem; color: var(--lt-muted); }
.lt-crm-acessos__ini:empty[b-4aogoqwqkz] { display: none; }
.lt-crm-acessos__nome[b-4aogoqwqkz] { font-weight: 600; color: var(--lt-ink); text-decoration: none; }
.lt-crm-acessos__nome:hover[b-4aogoqwqkz] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-acessos__semficha[b-4aogoqwqkz] { color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmAlertas.razor.rz.scp.css */
/* Alertas de saúde do CRM (O9). Bloco próprio `lt-crm-alertas`. O aspeto do mockup: cartões numa grelha (`.card-grid` /
   `.info-card`) com o ícone, a zona, a fonte, a mensagem e a gravidade em pill. */
.lt-crm-alertas__novo[b-k2cxn9gupm] { gap: .35rem; }
.lt-crm-alertas__msg[b-k2cxn9gupm] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-alertas__corpo[b-k2cxn9gupm] { padding: 14px 18px; }
.lt-crm-alertas__acoes[b-k2cxn9gupm] { margin: .5rem 0 0; }
.lt-crm-alertas__cartao[b-k2cxn9gupm] {
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}

/* A zona de cada loja. */
.lt-crm-alertas__barra[b-k2cxn9gupm] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; margin: 0 0 14px; }
.lt-crm-alertas__zonas[b-k2cxn9gupm] { display: flex; flex-wrap: wrap; gap: .5rem; }
.lt-crm-alertas__zona[b-k2cxn9gupm] {
    display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 6px 10px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: 12px; font-size: .82rem;
}
.lt-crm-alertas__loja[b-k2cxn9gupm] { font-weight: 600; color: var(--lt-ink); }
.lt-crm-alertas__zonatexto[b-k2cxn9gupm] { color: var(--lt-ink-2); }
.lt-crm-alertas__zonatexto.is-falta[b-k2cxn9gupm] { color: var(--lt-warning-ink); font-weight: 600; }
.lt-crm-alertas__zona[b-k2cxn9gupm]  .lt-field { margin: 0; }

/* A grelha dos cartões. */
.lt-crm-alertas__grelha[b-k2cxn9gupm] { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-alertas__alerta[b-k2cxn9gupm] {
    display: flex; flex-direction: column; gap: 6px; padding: 14px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-alertas__alerta.is-critico[b-k2cxn9gupm] { border-color: color-mix(in srgb, var(--lt-danger) 35%, var(--lt-line)); }
.lt-crm-alertas__alerta.is-dispensado[b-k2cxn9gupm] { opacity: .72; box-shadow: none; }
.lt-crm-alertas__alerta p[b-k2cxn9gupm] { margin: 0; }
.lt-crm-alertas__topo[b-k2cxn9gupm] { display: flex; align-items: center; gap: 10px; }
.lt-crm-alertas__onde[b-k2cxn9gupm] { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.lt-crm-alertas__zonanome[b-k2cxn9gupm] { margin: 0; font-size: .92rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-alertas__fonte[b-k2cxn9gupm] { font-size: .74rem; color: var(--lt-muted); }
.lt-crm-alertas__mensagem[b-k2cxn9gupm] { font-size: .84rem; line-height: 1.45; color: var(--lt-ink-2); }
.lt-crm-alertas__estado[b-k2cxn9gupm] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.lt-crm-alertas__cor[b-k2cxn9gupm] { font-size: .74rem; color: var(--lt-muted); }
.lt-crm-alertas__quando[b-k2cxn9gupm], .lt-crm-alertas__lojas[b-k2cxn9gupm], .lt-crm-alertas__quem[b-k2cxn9gupm] { font-size: .74rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-crm-alertas__accoes[b-k2cxn9gupm] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; }
.lt-crm-alertas__accao.lt-btn[b-k2cxn9gupm] {
    min-height: 30px; padding: 5px 10px; font-size: .78rem; font-weight: 600;
    border-color: transparent; background: var(--lt-neutro-tint);
}
.lt-crm-alertas__accao.lt-btn:hover:not(:disabled)[b-k2cxn9gupm] { background: var(--lt-line); }
.lt-crm-alertas__retirar.lt-btn[b-k2cxn9gupm] { min-height: 30px; padding: 5px 4px; font-size: .78rem; color: var(--lt-danger-ink); }

.lt-crm-alertas__dispensados[b-k2cxn9gupm] { margin: 0 0 10px; font-size: .82rem; }
.lt-crm-alertas__vazio[b-k2cxn9gupm] { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: 1.5rem 1rem; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); text-align: center; }
.lt-crm-alertas__vaziotitulo[b-k2cxn9gupm] { margin: 0; font-weight: 600; color: var(--lt-ink-2); }
.lt-crm-alertas__vaziodica[b-k2cxn9gupm] { margin: 0; font-size: .82rem; color: var(--lt-muted); }
.lt-crm-alertas__nota[b-k2cxn9gupm] {
    display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 13px;
    font-size: .8rem; line-height: 1.5; color: var(--lt-info-ink); background: var(--lt-info-tint); border-radius: 10px;
}
/* _content/Logitools.Client.Shared/Components/Crm/CrmAssistente.razor.rz.scp.css */
/* O assistente do CRM (O10). Bloco próprio `lt-crm-assist`. O aspeto do mockup (`.chat-shell`): a conversa em bolhas,
   as perguntas sugeridas em botões arredondados por baixo. */
.lt-crm-assist__cartao[b-yyxtalrqun] {
    overflow: hidden;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-assist__log[b-yyxtalrqun] { display: flex; flex-direction: column; gap: 10px; min-height: 16rem; max-height: 60vh; overflow-y: auto; padding: 18px; }
.lt-crm-assist__bolha[b-yyxtalrqun] { max-width: min(38rem, 85%); padding: 10px 14px; border-radius: 16px; font-size: .88rem; line-height: 1.5; }
.lt-crm-assist__bolha.is-bot[b-yyxtalrqun] { align-self: flex-start; color: var(--lt-ink); background: var(--lt-neutro-tint); border-bottom-left-radius: 6px; }
.lt-crm-assist__bolha.is-eu[b-yyxtalrqun] { align-self: flex-end; color: #fff; background: var(--lt-brand); border-bottom-right-radius: 6px; }
.lt-crm-assist__quem[b-yyxtalrqun] { display: block; margin-bottom: 2px; font-size: .74rem; color: var(--lt-muted); }
.lt-crm-assist__espera[b-yyxtalrqun] { color: var(--lt-muted); font-style: italic; }
/* A ligação à área numa linha sua (inline, colava-se ao ponto final da frase). */
.lt-crm-assist__ligacao[b-yyxtalrqun] { display: block; width: fit-content; margin-top: 6px; font-size: .8rem; font-weight: 600; color: var(--lt-brand-700); text-decoration: none; }
.lt-crm-assist__ligacao:hover[b-yyxtalrqun] { text-decoration: underline; }
.lt-crm-assist__sugestoes[b-yyxtalrqun] { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--lt-line); }
.lt-crm-assist__sugestao[b-yyxtalrqun] {
    padding: .45rem .9rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: var(--lt-ink-2); font: inherit; font-size: .84rem; cursor: pointer;
}
.lt-crm-assist__sugestao:hover:not(:disabled)[b-yyxtalrqun] { border-color: var(--lt-brand); color: var(--lt-ink); }
.lt-crm-assist__sugestao:focus-visible[b-yyxtalrqun] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-assist__sugestao:disabled[b-yyxtalrqun] { opacity: .6; cursor: default; }
.lt-crm-assist__msg[b-yyxtalrqun] { margin: 0; padding: 12px 18px; color: var(--lt-muted); border-top: 1px solid var(--lt-line); }
.lt-crm-assist__nota[b-yyxtalrqun] {
    display: flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 18px 14px;
    font-size: .8rem; color: var(--lt-muted);
}
/* _content/Logitools.Client.Shared/Components/Crm/CrmCampanhaEditor.razor.rz.scp.css */
/* O editor de uma campanha (Campanhas C1). Bloco próprio `lt-crm-campedit`. Os cartões do editor dos segmentos, numa só
   coluna e empilhados: o que se escreve cabe em linhas curtas, e a contagem do alvo fica por baixo dele.

   SEM `container-type` (que o editor dos segmentos tem, para a segunda coluna): o `LtConfirm` vive dentro deste bloco
   e o seu `position: fixed` deixaria de ser relativo ao ecrã — passaria a ser relativo ao contentor. */

/* A saída para a lista é um botão da casa (`lt-btn`), sem estilo próprio: só a distância ao título. */
.lt-crm-campedit__voltar[b-mjc9s9902h] { margin: 0 0 .7rem; }

.lt-crm-campedit__cartao[b-mjc9s9902h] {
    margin: 0 0 14px; padding: 14px 18px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-campedit__h2[b-mjc9s9902h] { margin: 0 0 10px; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-campedit__dica[b-mjc9s9902h] { margin: 6px 0 0; font-size: .78rem; color: var(--lt-muted); }
.lt-crm-campedit__aviso[b-mjc9s9902h], .lt-crm-campedit__erro[b-mjc9s9902h] { margin: 0 0 14px; }

.lt-crm-campedit__grelha[b-mjc9s9902h] { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 16px; }
.lt-crm-campedit__lojas[b-mjc9s9902h] { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.lt-crm-campedit__alvo[b-mjc9s9902h] { display: grid; grid-template-columns: 130px 180px minmax(220px, 1fr) auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.lt-crm-campedit__contagem[b-mjc9s9902h] { margin-top: 8px; color: var(--lt-muted); }
.lt-crm-campedit__acoes[b-mjc9s9902h] { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmCampanhas.razor.rz.scp.css */
/* Campanhas comerciais do CRM (Campanhas C1) — a lista. Bloco próprio `lt-crm-camp`. As medidas são as da lista dos
   segmentos (cartão, cabeça, tabela, estado vazio): a tabela dos outros ecrãs do CRM — micro-cabeçalhos, linhas de
   11×18 px. Sem cores na lista: o único realce é o do estado (a pill), que é o que pede ação. */

.lt-crm-camp__nova[b-yaxcg54mhn] { gap: .35rem; text-decoration: none; }
.lt-crm-camp__acoes .lt-btn[b-yaxcg54mhn] { text-decoration: none; }
.lt-crm-camp__msg[b-yaxcg54mhn] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-camp__corpo[b-yaxcg54mhn] { padding: 14px 18px; }
.lt-crm-camp__acoes[b-yaxcg54mhn] { margin: .5rem 0 0; }

.lt-crm-camp__cartao[b-yaxcg54mhn] {
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-camp__cabeca[b-yaxcg54mhn] {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 1rem;
    padding: 14px 18px 10px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-camp__h2[b-yaxcg54mhn] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-camp__sub[b-yaxcg54mhn] { margin: 3px 0 0; max-width: 60rem; font-size: .8rem; color: var(--lt-muted); }

.lt-crm-camp__vazio[b-yaxcg54mhn] { padding: 1.4rem 18px; text-align: center; }
.lt-crm-camp__vaziotitulo[b-yaxcg54mhn] { margin: 0; font-weight: 600; color: var(--lt-ink); }
.lt-crm-camp__vaziodica[b-yaxcg54mhn] { margin: .3rem auto 0; max-width: 40rem; font-size: .85rem; color: var(--lt-muted); }

/* O cartão corta o que sai dele (`overflow: hidden`, para os cantos redondos): a tabela rola dentro do seu rolo. */
.lt-crm-camp__rolo[b-yaxcg54mhn] { overflow-x: auto; }
.lt-crm-camp__tabela[b-yaxcg54mhn] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-camp__tabela thead th[b-yaxcg54mhn] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-camp__tabela td[b-yaxcg54mhn] { padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line); }
.lt-crm-camp__tabela .is-num[b-yaxcg54mhn] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-camp__tabela tbody tr:last-child > *[b-yaxcg54mhn] { border-bottom: 0; }
.lt-crm-camp__tabela tbody tr:hover > *[b-yaxcg54mhn] { background: var(--lt-surface-2); }

.lt-crm-camp__nome[b-yaxcg54mhn] { font-weight: 600; color: var(--lt-ink); text-decoration: none; }
.lt-crm-camp__nome:hover[b-yaxcg54mhn] { color: var(--lt-brand-700); text-decoration: underline; }

.lt-crm-camp__codigo[b-yaxcg54mhn] { font-variant-numeric: tabular-nums; color: var(--lt-muted); white-space: nowrap; }
.lt-crm-camp__subnome[b-yaxcg54mhn] { font-size: 12px; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmCartaoFolha.razor.rz.scp.css */
/* A folha de um cartão: as linhas do resumo e as das ações seguem as dos campos do LtSheet (11×14 px, separador por
   baixo) — o grupo de definições que a folha imita. Realce só no que pede ação: o aviso, e o perigo de inativar. */
.lt-crm-cartao__linhas[b-07stud5kx5] { margin: 0; }
.lt-crm-cartao__linhas > div[b-07stud5kx5] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 11px 14px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-cartao__linhas dt[b-07stud5kx5] { font-size: .83rem; font-weight: 400; color: var(--lt-ink); }
.lt-crm-cartao__linhas dd[b-07stud5kx5] { margin: 0; font-size: .83rem; color: var(--lt-ink); text-align: right; }
.lt-crm-cartao__linhas dd.is-num[b-07stud5kx5] { font-variant-numeric: tabular-nums; }

.lt-crm-cartao__avisos[b-07stud5kx5] { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 10px 14px; border-bottom: 1px solid var(--lt-line); }

.lt-crm-cartao__nota[b-07stud5kx5],
.lt-crm-cartao__previa[b-07stud5kx5],
.lt-crm-cartao__texto[b-07stud5kx5] {
    display: flex; align-items: flex-start; gap: 8px; margin: 0;
    padding: 10px 14px; border-bottom: 1px solid var(--lt-line); font-size: .8rem; line-height: 1.45; color: var(--lt-muted);
}
.lt-crm-cartao__nota.is-aviso[b-07stud5kx5] { color: var(--lt-warning-ink); background: var(--lt-warning-tint); }
.lt-crm-cartao__previa[b-07stud5kx5] { color: var(--lt-ink); font-variant-numeric: tabular-nums; }
.lt-crm-cartao__texto[b-07stud5kx5] { color: var(--lt-ink); font-size: .83rem; }

/* As ações: uma linha por ação, com a seta das listas de definições. */
.lt-crm-cartao__acoes[b-07stud5kx5],
.lt-crm-cartao__destinos[b-07stud5kx5] { display: flex; flex-direction: column; }
.lt-crm-cartao__acao[b-07stud5kx5] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%;
    padding: 11px 14px; border: 0; border-bottom: 1px solid var(--lt-line); background: transparent;
    font: inherit; font-size: .83rem; color: var(--lt-brand); text-align: left; cursor: pointer;
}
.lt-crm-cartao__acao:hover[b-07stud5kx5] { background: var(--lt-brand-tint); }
.lt-crm-cartao__acao:focus-visible[b-07stud5kx5] { outline: 2px solid var(--lt-brand); outline-offset: -2px; }
.lt-crm-cartao__acao.is-perigo[b-07stud5kx5] { color: var(--lt-danger); }
.lt-crm-cartao__acao.is-perigo:hover[b-07stud5kx5] { background: var(--lt-danger-tint); }
.lt-crm-cartao__seta[b-07stud5kx5] { color: var(--lt-muted); font-size: 1.1rem; line-height: 1; }

/* O destino da transferência: procurar (campo + botão na mesma linha) e o escolhido. */
.lt-crm-cartao__procura[b-07stud5kx5] { display: flex; align-items: center; gap: 8px; padding-right: 14px; border-bottom: 1px solid var(--lt-line); }
.lt-crm-cartao__procura[b-07stud5kx5]  .lt-field { flex: 1 1 auto; border-bottom: 0; }
.lt-crm-cartao__procura .lt-btn[b-07stud5kx5] { flex: none; }
.lt-crm-cartao__escolhido[b-07stud5kx5] {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 14px;
    padding: 11px 14px; border-bottom: 1px solid var(--lt-line); font-size: .83rem;
}
.lt-crm-cartao__rotulo[b-07stud5kx5] { color: var(--lt-ink); }
.lt-crm-cartao__valor[b-07stud5kx5] { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--lt-ink); text-align: right; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmCartaoNovo.razor.rz.scp.css */
/* «Novo cartão»: as linhas seguem as dos campos do LtSheet (11×14 px, separador por baixo). */
.lt-crm-cartaonovo__linha[b-27bxhzx32o] {
    display: flex; align-items: flex-start; gap: 8px; margin: 0;
    padding: 11px 14px; border-bottom: 1px solid var(--lt-line); font-size: .83rem; line-height: 1.45; color: var(--lt-muted);
}
.lt-crm-cartaonovo__linha.is-par[b-27bxhzx32o] { justify-content: space-between; align-items: center; color: var(--lt-ink); }
.lt-crm-cartaonovo__linha.is-aviso[b-27bxhzx32o] { color: var(--lt-warning-ink); background: var(--lt-warning-tint); }
.lt-crm-cartaonovo__linha.is-recusa[b-27bxhzx32o] { color: var(--lt-danger-ink); background: var(--lt-danger-tint); }
.lt-crm-cartaonovo__numero[b-27bxhzx32o] { font-variant-numeric: tabular-nums; text-align: right; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmCartoes.razor.rz.scp.css */
/* Painel dos cartões do CRM (F2.2). Bloco próprio `lt-crm-cartoes` — no ficheiro DESTE componente.
   2026-09-25 (objetivo O1): o aspeto do mockup do CRM — o resumo em mosaicos de números, a lista num cartão. */

/* O resumo em mosaicos (mockup `.stat-row` / `.stat-tile`). */
.lt-crm-cartoes__resumo[b-f7pq2lj877] { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-cartoes__num[b-f7pq2lj877] {
    padding: 14px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-cartoes__num dt[b-f7pq2lj877] { font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-cartoes__num dd[b-f7pq2lj877] { margin: 6px 0 0; font-size: 1.6rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
/* Realce = estado acionável: o número diferente na ficha (há um dado a corrigir). */
.lt-crm-cartoes__num.is-aviso[b-f7pq2lj877] { background: var(--lt-warning-tint); border-color: color-mix(in srgb, var(--lt-warning) 40%, var(--lt-line)); }

/* Uma nota de contexto (mockup `.scope-note`): fundo de informação e ícone. */
.lt-crm-cartoes__aviso[b-f7pq2lj877] {
    display: flex; align-items: flex-start; gap: 8px; margin: 0 0 14px; padding: 10px 13px;
    font-size: .8rem; color: var(--lt-info-ink); background: var(--lt-info-tint); border-radius: 10px;
}

.lt-crm-cartoes__cartao[b-f7pq2lj877] {
    overflow: hidden;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-cartoes__topo[b-f7pq2lj877] {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1rem;
    padding: 12px 18px; border-bottom: 1px solid var(--lt-line);
}
/* A caixa de pesquisa com largura para o texto de exemplo se ler inteiro (cortado, deixava de servir de exemplo). */
.lt-crm-cartoes__topo[b-f7pq2lj877]  .lt-field { flex: 1 1 20rem; max-width: 28rem; }
.lt-crm-cartoes__nota[b-f7pq2lj877] { margin: 0; padding: 10px 18px; font-size: .8rem; color: var(--lt-muted); border-bottom: 1px solid var(--lt-line); }
.lt-crm-cartoes__corpo[b-f7pq2lj877] { padding: 14px 18px; }
.lt-crm-cartoes__msg[b-f7pq2lj877] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }

/* A tabela como no mockup: micro-cabeçalhos, linhas de 11×18 px, hover suave. */
.lt-crm-cartoes__rolo[b-f7pq2lj877] { overflow-x: auto; }
.lt-crm-cartoes__tabela[b-f7pq2lj877] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-cartoes__tabela thead th[b-f7pq2lj877] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
/* O cabeçalho da linha (th scope=row, o campo principal) tem o aspeto de uma célula (SLDS Data Table). */
.lt-crm-cartoes__tabela tbody th[b-f7pq2lj877],
.lt-crm-cartoes__tabela td[b-f7pq2lj877] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle;
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-cartoes__tabela tbody tr:last-child > *[b-f7pq2lj877] { border-bottom: 0; }
.lt-crm-cartoes__tabela tbody tr:hover > *[b-f7pq2lj877] { background: var(--lt-surface-2); }
.lt-crm-cartoes__tabela .is-num[b-f7pq2lj877] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.lt-crm-cartoes__numero[b-f7pq2lj877] {
    margin-right: .4rem; padding: 0; border: 0; background: transparent; cursor: pointer;
    font: inherit; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-brand);
}
.lt-crm-cartoes__numero:hover[b-f7pq2lj877] { text-decoration: underline; }
.lt-crm-cartoes__numero:focus-visible[b-f7pq2lj877] { outline: 2px solid var(--lt-brand); outline-offset: 2px; border-radius: 2px; }
.lt-crm-cartoes__pessoa[b-f7pq2lj877] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-cartoes__quem[b-f7pq2lj877] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lt-crm-cartoes__nome[b-f7pq2lj877] { font-weight: 600; color: var(--lt-ink); }
a.lt-crm-cartoes__nome[b-f7pq2lj877] { text-decoration: none; }
a.lt-crm-cartoes__nome:hover[b-f7pq2lj877] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-cartoes__avisos[b-f7pq2lj877] { display: flex; flex-wrap: wrap; gap: 4px; }

/* A saída de um erro: tentar outra vez (SLDS e o guia de UX: uma mensagem de erro traz o passo seguinte). */
.lt-crm-cartoes__acoes[b-f7pq2lj877] { margin: .5rem 0 0; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmCasos.razor.rz.scp.css */
/* Painel de casos do CRM. Bloco proprio `lt-crm-casos` (UI-CONVENTIONS §2).
   ⚠️ Estas regras nasceram no Crm.razor.css e a catraca do design system apanhou-as: o CSS scoped
   do Blazor só se aplica ao markup DO PRÓPRIO componente, logo ali não faziam nada — a mesma
   família do `lt-sr` invisível (memória defeitos-inertes).
   2026-09-25 (objetivo O1): o aspeto das tabelas do mockup do CRM — cartão com sombra suave, micro-cabeçalhos,
   linhas de 11×18 px, a pessoa com avatar, estados em pill. */

.lt-crm-casos__novo[b-qhr07znzlc] { gap: .35rem; }

/* O cartão da lista: a barra dos filtros por cima e a tabela encostada às margens (SLDS Cards: corpo sem padding). */
.lt-crm-casos__cartao[b-qhr07znzlc] {
    overflow: hidden;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-lg);
    box-shadow: var(--lt-shadow-card);
}
.lt-crm-casos__topo[b-qhr07znzlc] {
    display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem;
    padding: 8px 18px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-casos__corpo[b-qhr07znzlc] { padding: 14px 18px; }
.lt-crm-casos__msg[b-qhr07znzlc] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }

/* Tabela larga num ecrã estreito: rola dentro do cartão em vez de esticar a página (wrapper, não display:block
   na tabela — isso tira a semântica de tabela aos leitores de ecrã no Safari). */
.lt-crm-casos__rolo[b-qhr07znzlc] { overflow-x: auto; }
.lt-crm-casos__tabela[b-qhr07znzlc] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-casos__tabela thead th[b-qhr07znzlc] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
/* O cabeçalho da linha (o assunto, th scope=row) tem o aspeto de uma célula: é semântica para o leitor de
   ecrã, não um segundo cabeçalho à vista (SLDS Data Table: a 1.ª coluna é o th da linha). */
.lt-crm-casos__tabela tbody th[b-qhr07znzlc],
.lt-crm-casos__tabela td[b-qhr07znzlc] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle;
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-casos__tabela tbody tr:last-child > *[b-qhr07znzlc] { border-bottom: 0; }
.lt-crm-casos__tabela tbody tr:hover > *[b-qhr07znzlc] { background: var(--lt-surface-2); }
.lt-crm-casos__assunto[b-qhr07znzlc] { font-weight: 600; color: var(--lt-ink); }

/* A pessoa: avatar com as iniciais e o nome (mockup `.name-cell`). */
.lt-crm-casos__pessoa[b-qhr07znzlc] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-casos__nome[b-qhr07znzlc] { font-weight: 600; color: var(--lt-ink); }
a.lt-crm-casos__nome[b-qhr07znzlc] { text-decoration: none; }
a.lt-crm-casos__nome:hover[b-qhr07znzlc] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-casos__semcontacto[b-qhr07znzlc] { color: var(--lt-muted); }
.lt-crm-casos__quando[b-qhr07znzlc] { white-space: nowrap; color: var(--lt-ink-2); }
.lt-crm-casos__prazo[b-qhr07znzlc] { white-space: nowrap; }
.lt-crm-casos__accoes[b-qhr07znzlc] { text-align: right; white-space: nowrap; }

/* A ação da linha (mockup `btn-ghost btn-sm`): pequena e cinzenta; o azul é para o que navega. */
.lt-crm-casos__resolver.lt-btn[b-qhr07znzlc] {
    min-height: 30px; padding: 5px 10px; font-size: .78rem; font-weight: 600;
    border-color: transparent; background: var(--lt-neutro-tint);
}
.lt-crm-casos__resolver.lt-btn:hover:not(:disabled)[b-qhr07znzlc] { background: var(--lt-line); }

/* Realce = estado acionável: só o prazo estourado fica vermelho, e só enquanto o caso está por
   resolver. Um caso sem prazo nunca entra aqui. */
.lt-crm-casos__tabela tr.is-atrasado .lt-crm-casos__prazo > span:first-child[b-qhr07znzlc] { color: var(--lt-danger-ink); font-weight: 600; }
/* «Fora do prazo» em texto ao lado da data: a cor nunca é a única pista (SLDS Color / WCAG 1.4.1). */
.lt-crm-casos__tag[b-qhr07znzlc] { display: inline-block; margin-left: .4rem; }
.lt-crm-casos__sem-prazo[b-qhr07znzlc] { color: var(--lt-muted); }

/* O caso acabado de criar pisca uma vez (mockup `hl-new`, 1,6 s), para se ver onde entrou na lista. */
.lt-crm-casos__tabela tr.is-novo > *[b-qhr07znzlc] { animation: lt-crm-casos-novo-b-qhr07znzlc 1.6s ease-out; }
@keyframes lt-crm-casos-novo-b-qhr07znzlc { 0% { background: var(--lt-brand-tint); } 70% { background: var(--lt-brand-tint); } 100% { background: transparent; } }
@media (prefers-reduced-motion: reduce) { .lt-crm-casos__tabela tr.is-novo > *[b-qhr07znzlc] { animation: none; background: var(--lt-brand-tint); } }

/* Estado vazio: a frase e o passo seguinte. */
.lt-crm-casos__vazio[b-qhr07znzlc] { display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 2rem 1rem; text-align: center; }
.lt-crm-casos__vaziotitulo[b-qhr07znzlc] { margin: 0; font-weight: 600; color: var(--lt-ink-2); }
.lt-crm-casos__vaziodica[b-qhr07znzlc] { margin: 0; font-size: .82rem; color: var(--lt-muted); }
.lt-crm-casos__acoes[b-qhr07znzlc] { margin: .5rem 0 0; }
.lt-crm-casos__sr[b-qhr07znzlc] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* O «Novo caso» em sheet: as linhas que não são um controlo da casa (o cliente, a caixa com a nota) têm o mesmo
   arranjo das outras — rótulo à esquerda, valor à direita, 11×14 px, linha por baixo. */
.lt-crm-casos__cliente[b-qhr07znzlc] {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px;
    padding: 11px 14px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-casos__rotulo[b-qhr07znzlc] { font-size: .83rem; color: var(--lt-ink); }
.lt-crm-casos__clientevalor[b-qhr07znzlc] { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.lt-crm-casos__clientenome[b-qhr07znzlc] { font-size: .83rem; font-weight: 600; }
.lt-crm-casos__semcliente[b-qhr07znzlc] { font-size: .83rem; color: var(--lt-muted); }
.lt-crm-casos__sensivel[b-qhr07znzlc] { padding: 9px 14px 11px; }
.lt-crm-casos__dica[b-qhr07znzlc] { margin: 2px 0 0; font-size: .74rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmClientePainel.razor.rz.scp.css */
/* Painel de cartão no balcão. Compacto: o POS é um ecrã cheio e isto não pode roubar espaço à venda. */
.lt-crm-balcao[b-l2ih0ahstl] {
    margin-top: .4rem;
    padding-top: .4rem;
    border-top: 1px solid var(--lt-line);
    font-size: .82rem;
}

.lt-crm-balcao__linha[b-l2ih0ahstl] {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    padding: .1rem 0;
}

.lt-crm-balcao__linha > span[b-l2ih0ahstl] { color: var(--lt-muted); }
.lt-crm-balcao__linha > b[b-l2ih0ahstl] { font-variant-numeric: tabular-nums; }

.lt-crm-balcao__vales[b-l2ih0ahstl] { margin-top: .3rem; }

.lt-crm-balcao__titulo[b-l2ih0ahstl] {
    display: block;
    color: var(--lt-muted);
    font-size: .8rem;
    font-weight: 600;   /* sem maiúsculas forçadas (SLDS 2: nunca ALL CAPS) */
}

.lt-crm-balcao__vale[b-l2ih0ahstl] {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    padding: .1rem 0;
}

.lt-crm-balcao__vale code[b-l2ih0ahstl] { font-size: .8rem; }
.lt-crm-balcao__vale b[b-l2ih0ahstl] { font-variant-numeric: tabular-nums; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmClientes.razor.rz.scp.css */
/* Cliente 360º — a lista de clientes do CRM (objetivo O2). Bloco próprio `lt-crm-clientes`; o aspeto do mockup. */

.lt-crm-clientes__novo[b-rqy3l1hafq] { gap: .35rem; text-decoration: none; }

/* Os números por cima (mockup `.stat-row`). */
.lt-crm-clientes__resumo[b-rqy3l1hafq] { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-clientes__num[b-rqy3l1hafq] {
    padding: 14px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-clientes__num dt[b-rqy3l1hafq] { font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-clientes__num dd[b-rqy3l1hafq] { margin: 6px 0 0; font-size: 1.6rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--lt-ink); }

.lt-crm-clientes__cartao[b-rqy3l1hafq] {
    overflow: hidden;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-clientes__topo[b-rqy3l1hafq] {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1rem;
    padding: 12px 18px; border-bottom: 1px solid var(--lt-line);
}
/* A caixa de pesquisa com largura para o texto de exemplo se ler inteiro. */
.lt-crm-clientes__topo[b-rqy3l1hafq]  .lt-field:first-child { flex: 1 1 20rem; max-width: 28rem; }
.lt-crm-clientes__nota[b-rqy3l1hafq] { margin: 0; padding: 10px 18px; font-size: .8rem; color: var(--lt-muted); border-bottom: 1px solid var(--lt-line); }
.lt-crm-clientes__corpo[b-rqy3l1hafq] { padding: 14px 18px; }
.lt-crm-clientes__msg[b-rqy3l1hafq] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }
.lt-crm-clientes__acoes[b-rqy3l1hafq] { margin: .5rem 0 0; }

/* A tabela como no mockup. Os cabeçalhos ordenáveis são do SortTh (outro componente) — daí o ::deep. */
.lt-crm-clientes__rolo[b-rqy3l1hafq] { overflow-x: auto; }
.lt-crm-clientes__tabela[b-rqy3l1hafq] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-clientes__tabela[b-rqy3l1hafq]  thead th {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-clientes__tabela[b-rqy3l1hafq]  thead th.lt-sortth { padding: 0 8px; }
.lt-crm-clientes__tabela[b-rqy3l1hafq]  thead th .lt-sort { padding: 10px; text-transform: inherit; }
.lt-crm-clientes__tabela tbody th[b-rqy3l1hafq],
.lt-crm-clientes__tabela td[b-rqy3l1hafq] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle;
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-clientes__tabela tbody tr:last-child > *[b-rqy3l1hafq] { border-bottom: 0; }
.lt-crm-clientes__tabela tbody tr:hover > *[b-rqy3l1hafq] { background: var(--lt-surface-2); }
.lt-crm-clientes__tabela .is-num[b-rqy3l1hafq] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.lt-crm-clientes__pessoa[b-rqy3l1hafq] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-clientes__quem[b-rqy3l1hafq] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lt-crm-clientes__nome[b-rqy3l1hafq] { font-weight: 600; color: var(--lt-ink); }
a.lt-crm-clientes__nome[b-rqy3l1hafq] { text-decoration: none; }
a.lt-crm-clientes__nome:hover[b-rqy3l1hafq] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-clientes__sub[b-rqy3l1hafq] { font-size: .74rem; color: var(--lt-muted); white-space: nowrap; }
.lt-crm-clientes__etiquetas[b-rqy3l1hafq] { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.lt-crm-clientes__semseg[b-rqy3l1hafq] { font-size: .8rem; color: var(--lt-muted); }
.lt-crm-clientes__contacto[b-rqy3l1hafq] { display: flex; flex-direction: column; gap: 2px; font-size: .8rem; color: var(--lt-ink-2); }
.lt-crm-clientes__ha[b-rqy3l1hafq] { display: block; font-size: .74rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmConfiguracao.razor.rz.scp.css */
/* A configuração do CRM, 1.ª parte. Bloco próprio `lt-crm-cfg` — no ficheiro DESTE componente. Duas colunas a toda a
   largura (o funil à esquerda, os casos à direita); numa janela estreita, uma por baixo da outra. */

.lt-crm-cfg__msg[b-7oavx1b09i] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-cfg__corpo[b-7oavx1b09i] { padding: 12px 18px 14px; }
.lt-crm-cfg__acoes[b-7oavx1b09i] { margin: .75rem 0 0; }
.lt-crm-cfg__sr[b-7oavx1b09i] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Duas colunas só quando cabem as duas tabelas inteiras (as ações da fase incluídas); senão, uma por baixo da outra. */
.lt-crm-cfg__grelha[b-7oavx1b09i] { display: grid; grid-template-columns: repeat(auto-fit, minmax(34rem, 1fr)); gap: 14px; align-items: start; }
.lt-crm-cfg__rolo[b-7oavx1b09i] { overflow-x: auto; }
.lt-crm-cfg__coluna[b-7oavx1b09i] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

.lt-crm-cfg__cartao[b-7oavx1b09i] {
    overflow: hidden;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-cfg__cabeca[b-7oavx1b09i] {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 1rem;
    padding: 14px 18px 10px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-cfg__h2[b-7oavx1b09i] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-cfg__h3[b-7oavx1b09i] { margin: 12px 18px 4px; font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-cfg__sub[b-7oavx1b09i] { margin: 3px 0 0; max-width: 40rem; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-cfg__novo.lt-btn[b-7oavx1b09i] { gap: .35rem; }
.lt-crm-cfg__loja[b-7oavx1b09i] { min-width: 11rem; }
.lt-crm-cfg__loja[b-7oavx1b09i]  .lt-field { margin: 0; }
.lt-crm-cfg__lojafixa[b-7oavx1b09i] { font-size: .8rem; color: var(--lt-ink-2); }

.lt-crm-cfg__tabela[b-7oavx1b09i] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-cfg__tabela thead th[b-7oavx1b09i] {
    padding: 9px 14px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-cfg__tabela tbody th[b-7oavx1b09i], .lt-crm-cfg__tabela td[b-7oavx1b09i] { padding: 8px 14px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line); }
.lt-crm-cfg__tabela thead th:first-child[b-7oavx1b09i], .lt-crm-cfg__tabela tbody th:first-child[b-7oavx1b09i] { padding-left: 18px; }
.lt-crm-cfg__tabela tbody tr:last-child > *[b-7oavx1b09i] { border-bottom: 0; }
.lt-crm-cfg__tabela tbody th[b-7oavx1b09i] { font-weight: 600; color: var(--lt-ink); }
.lt-crm-cfg__tabela .is-num[b-7oavx1b09i] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-cfg__tabela tr.is-inativa > *[b-7oavx1b09i], .lt-crm-cfg__motivos li.is-inativa[b-7oavx1b09i] { color: var(--lt-muted); }
.lt-crm-cfg__dias[b-7oavx1b09i]  .lt-field { margin: 0; }
.lt-crm-cfg__dias tr.is-fechado th[b-7oavx1b09i] { color: var(--lt-muted); }

.lt-crm-cfg__accoes[b-7oavx1b09i] { text-align: right; white-space: nowrap; }
.lt-crm-cfg__mover.lt-btn[b-7oavx1b09i] { min-width: 28px; min-height: 28px; padding: 2px 6px; font-size: .95rem; line-height: 1; }
.lt-crm-cfg__ligacao.lt-btn[b-7oavx1b09i] { min-height: 28px; padding: 4px 6px; font-size: .78rem; }

.lt-crm-cfg__motivos[b-7oavx1b09i] { margin: 0 0 8px; padding: 0; list-style: none; }
.lt-crm-cfg__motivos li[b-7oavx1b09i] { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 6px 14px 6px 18px; border-bottom: 1px solid var(--lt-line); font-size: .86rem; }
.lt-crm-cfg__motivos li:last-child[b-7oavx1b09i] { border-bottom: 0; }
.lt-crm-cfg__mnome[b-7oavx1b09i] { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem; min-width: 0; }

.lt-crm-cfg__feriados[b-7oavx1b09i] { margin: 0 0 10px; padding: 0; list-style: none; }
.lt-crm-cfg__feriados li[b-7oavx1b09i] { display: flex; align-items: center; gap: .75rem; padding: 6px 0; border-bottom: 1px solid var(--lt-line); font-size: .86rem; }
.lt-crm-cfg__fdata[b-7oavx1b09i] { min-width: 9rem; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-cfg__fdata small[b-7oavx1b09i] { color: var(--lt-muted); }
.lt-crm-cfg__fnome[b-7oavx1b09i] { flex: 1 1 auto; min-width: 0; color: var(--lt-ink-2); }
.lt-crm-cfg__novoferiado[b-7oavx1b09i] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem .75rem; }
.lt-crm-cfg__novoferiado[b-7oavx1b09i]  .lt-field { margin: 0; }
.lt-crm-cfg__vazio[b-7oavx1b09i] { margin: 0 0 10px; font-size: .85rem; color: var(--lt-muted); }

.lt-crm-cfg__prazos[b-7oavx1b09i] { display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: .5rem 1rem; }
.lt-crm-cfg__nota[b-7oavx1b09i] { margin: .4rem 0 0; font-size: .78rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmConsentimentos.razor.rz.scp.css */
/* Consentimentos e RGPD do CRM (O8). Bloco próprio `lt-crm-rgpd`. O aspeto do mockup: mosaicos por canal, a nota de
   contexto e o registo numa tabela com pills. Realce = estado acionável: um canal com «Sim» sem prova. */
.lt-crm-rgpd__msg[b-totnddf0mg] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-rgpd__corpo[b-totnddf0mg] { padding: 14px 18px; }
.lt-crm-rgpd__acoes[b-totnddf0mg] { margin: .5rem 0 0; }

.lt-crm-rgpd__canais[b-totnddf0mg] { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-rgpd__canal[b-totnddf0mg] {
    padding: 14px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-rgpd__canal.is-aviso[b-totnddf0mg] { border-color: color-mix(in srgb, var(--lt-warning) 40%, var(--lt-line)); }
.lt-crm-rgpd__canal dt[b-totnddf0mg] { font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-rgpd__canal dd[b-totnddf0mg] { margin: 0; }
.lt-crm-rgpd__sim[b-totnddf0mg] { margin-top: 6px !important; font-size: 1.4rem; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-rgpd__prova[b-totnddf0mg] { margin-top: 4px !important; font-size: .82rem; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-crm-rgpd__semprova[b-totnddf0mg] {
    display: inline-block; margin-top: 8px !important; padding: 2px 8px; border-radius: 99px;
    font-size: .74rem; font-weight: 600; color: var(--lt-warning-ink); background: var(--lt-warning-tint);
}

.lt-crm-rgpd__nota[b-totnddf0mg] {
    display: flex; align-items: flex-start; gap: 8px; margin: 0 0 14px; padding: 10px 13px;
    font-size: .8rem; line-height: 1.5; color: var(--lt-info-ink); background: var(--lt-info-tint); border-radius: 10px;
}

.lt-crm-rgpd__cartao[b-totnddf0mg] {
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-rgpd__cabeca[b-totnddf0mg] { padding: 14px 18px 4px; }
.lt-crm-rgpd__h2[b-totnddf0mg] { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-rgpd__sub[b-totnddf0mg] { margin: 3px 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-rgpd__topo[b-totnddf0mg] { padding: 8px 18px 10px; border-bottom: 1px solid var(--lt-line); }
.lt-crm-rgpd__filtros[b-totnddf0mg] { display: flex; flex-wrap: wrap; gap: .4rem; }
.lt-crm-rgpd__filtro[b-totnddf0mg] {
    padding: .35rem .8rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: var(--lt-ink-2); font: inherit; font-size: .82rem; cursor: pointer;
}
.lt-crm-rgpd__filtro:hover[b-totnddf0mg] { border-color: var(--lt-brand); }
.lt-crm-rgpd__filtro:focus-visible[b-totnddf0mg] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-rgpd__filtro.is-on[b-totnddf0mg] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-ink); }

.lt-crm-rgpd__rolo[b-totnddf0mg] { overflow-x: auto; }
.lt-crm-rgpd__tabela[b-totnddf0mg] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-rgpd__tabela thead th[b-totnddf0mg] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-rgpd__tabela tbody th[b-totnddf0mg], .lt-crm-rgpd__tabela td[b-totnddf0mg] {
    padding: 10px 18px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-rgpd__tabela tbody tr:last-child > *[b-totnddf0mg] { border-bottom: 0; }
.lt-crm-rgpd__tabela tbody tr:hover > *[b-totnddf0mg] { background: var(--lt-surface-2); }
.lt-crm-rgpd__quando[b-totnddf0mg] { white-space: nowrap; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-crm-rgpd__pessoa[b-totnddf0mg] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-rgpd__nome[b-totnddf0mg] { font-weight: 600; color: var(--lt-ink); text-decoration: none; }
.lt-crm-rgpd__nome:hover[b-totnddf0mg] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-rgpd__semficha[b-totnddf0mg] { color: var(--lt-muted); }
.lt-crm-rgpd__como[b-totnddf0mg] { color: var(--lt-ink-2); }
.lt-crm-rgpd__operador[b-totnddf0mg] { display: block; }
.lt-crm-rgpd__posto[b-totnddf0mg] { display: block; font-size: .72rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmDashboard.razor.rz.scp.css */
/* Dashboard do CRM. Bloco próprio `lt-crm-dash` (UI-CONVENTIONS §2) — no ficheiro DESTE componente: o CSS
   scoped só se aplica ao markup do próprio (os gráficos têm o seu, em LtGraficoBarras.razor.css). */

.lt-crm-dash__topo[b-9fbier7vmx] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem 1rem; margin-bottom: .5rem; }
.lt-crm-dash__fim[b-9fbier7vmx] { display: inline-flex; align-items: center; gap: .75rem; margin-left: auto; }
.lt-crm-dash__hora[b-9fbier7vmx] { font-size: .8rem; color: var(--lt-muted); }
.lt-crm-dash__ambito[b-9fbier7vmx] { margin: 0 0 .75rem; font-size: .82rem; color: var(--lt-muted); }
.lt-crm-dash__msg[b-9fbier7vmx] { margin: 0; padding: 1rem .25rem; color: var(--lt-muted); text-align: center; }

/* A fila dos indicadores: tantos por linha quantos couberem (memória ui-full-width). */
.lt-crm-dash__kpis[b-9fbier7vmx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr)); gap: 14px; margin-bottom: 18px; }
/* O mosaico do indicador como o do mockup (`.stat-tile`): raio 14, sombra suave, rótulo pequeno, número grande. */
.lt-crm-dash__kpi[b-9fbier7vmx] {
    display: flex; flex-direction: column; gap: .2rem;
    padding: 16px 18px; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg);
    background: var(--lt-surface); box-shadow: var(--lt-shadow-card);
}
/* Micro-rótulo como no mockup (11,5 px, maiúsculas) — a referência do dono prevalece (spec §6-bis.4, decisão 2). */
.lt-crm-dash__kpinome[b-9fbier7vmx] { font-size: .72rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-dash__kpivalor[b-9fbier7vmx] { margin-top: .25rem; font-size: 1.7rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.15; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-dash__kpivar[b-9fbier7vmx] { font-size: .8rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.lt-crm-dash__kpivar.is-melhor[b-9fbier7vmx] { color: var(--lt-success); }
.lt-crm-dash__kpivar.is-pior[b-9fbier7vmx] { color: var(--lt-danger); }
.lt-crm-dash__kpivar.is-igual[b-9fbier7vmx] { color: var(--lt-muted); font-weight: 400; }
.lt-crm-dash__kpinota[b-9fbier7vmx] { font-size: .72rem; color: var(--lt-muted); }

/* Lado a lado quando cada gráfico tem pelo menos 26rem (as legendas são HTML: não encolhem com o desenho). */
.lt-crm-dash__grelha[b-9fbier7vmx] { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); gap: 18px; margin-bottom: 18px; }
/* O cartão do gráfico como o `.panel` do mockup: raio 14, sombra suave, título 15,5 px. */
.lt-crm-dash__cartao[b-9fbier7vmx] {
    padding: 15px 18px; margin-bottom: 18px;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); background: var(--lt-surface);
    box-shadow: var(--lt-shadow-card);
}
.lt-crm-dash__grelha > .lt-crm-dash__cartao[b-9fbier7vmx] { margin-bottom: 0; }
.lt-crm-dash__cartao h2[b-9fbier7vmx] { margin: 0; font-size: .98rem; font-weight: 600; letter-spacing: -.01em; }
.lt-crm-dash__sub[b-9fbier7vmx] { margin: .15rem 0 .5rem; font-size: .76rem; color: var(--lt-muted); }
.lt-crm-dash__sub.is-erro[b-9fbier7vmx] { color: var(--lt-danger); }

/* Retenção por coorte: uma TABELA com fundo proporcional (o mapa de calor que um leitor de ecrã lê). */
.lt-crm-dash__rolo[b-9fbier7vmx] { overflow-x: auto; }
.lt-crm-dash__coortes[b-9fbier7vmx] { border-collapse: separate; border-spacing: 2px; font-size: .76rem; font-variant-numeric: tabular-nums; }
.lt-crm-dash__coortes th[b-9fbier7vmx] { padding: .15rem .4rem; font-weight: 600; color: var(--lt-muted); text-align: left; white-space: nowrap; }
.lt-crm-dash__coortes td[b-9fbier7vmx] { min-width: 2.6rem; padding: .2rem .3rem; text-align: center; border-radius: 3px; }
.lt-crm-dash__coortes .is-num[b-9fbier7vmx] { text-align: right; }
.lt-crm-dash__celula[b-9fbier7vmx] { background: color-mix(in srgb, var(--lt-brand) calc(var(--f) * 100%), var(--lt-surface-2)); color: var(--lt-ink); }
.lt-crm-dash__celula.is-escura[b-9fbier7vmx] { color: var(--lt-surface); }
.lt-crm-dash__coortes tfoot th[b-9fbier7vmx], .lt-crm-dash__coortes tfoot td[b-9fbier7vmx] { border-top: 1px solid var(--lt-line); font-weight: 600; }

/* Segmentos RFM: uma lista com a parte do VALOR em barra — o que cada grupo traz. */
.lt-crm-dash__segmentos[b-9fbier7vmx] { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem; }
/* O nome e o que quer dizer numa coluna só (lado a lado, a descrição partia-se em quatro linhas a 560 px). */
.lt-crm-dash__segmento[b-9fbier7vmx] {
    display: grid; grid-template-columns: 1fr auto minmax(5rem, 11rem) 6.5rem;
    align-items: center; gap: .3rem .75rem; padding: .35rem .45rem; border-radius: var(--lt-radius-sm);
}
.lt-crm-dash__segquem[b-9fbier7vmx] { display: flex; flex-direction: column; gap: .05rem; min-width: 0; }
.lt-crm-dash__segmento.is-aviso[b-9fbier7vmx] { background: var(--lt-warning-tint); }
.lt-crm-dash__segnome[b-9fbier7vmx] { font-weight: 600; font-size: .85rem; }
.lt-crm-dash__segdesc[b-9fbier7vmx] { font-size: .76rem; color: var(--lt-muted); }
.lt-crm-dash__segnum[b-9fbier7vmx] { font-size: .82rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-dash__segnum small[b-9fbier7vmx] { color: var(--lt-muted); }
.lt-crm-dash__segbarra[b-9fbier7vmx] { display: block; height: .5rem; border-radius: 999px; background: var(--lt-surface-2); overflow: hidden; }
.lt-crm-dash__segbarra > i[b-9fbier7vmx] { display: block; height: 100%; width: calc(var(--f) * 100%); background: var(--lt-brand); }
.lt-crm-dash__segvalor[b-9fbier7vmx] { font-size: .76rem; color: var(--lt-muted); white-space: nowrap; text-align: right; }

.lt-crm-dash__numeros[b-9fbier7vmx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr)); gap: .4rem; margin: 0 0 .5rem; }
.lt-crm-dash__numeros > div[b-9fbier7vmx] { padding: .3rem .45rem; border-radius: var(--lt-radius-sm); background: var(--lt-surface-2); }
.lt-crm-dash__numeros dt[b-9fbier7vmx] { font-size: .72rem; color: var(--lt-muted); }
.lt-crm-dash__numeros dd[b-9fbier7vmx] { margin: 0; font-variant-numeric: tabular-nums; }
.lt-crm-dash__numeros dd small[b-9fbier7vmx] { color: var(--lt-muted); }
.lt-crm-dash__numeros .is-principal dd[b-9fbier7vmx] { font-size: 1.1rem; font-weight: 700; }
.lt-crm-dash__numeros .is-aviso[b-9fbier7vmx] { background: var(--lt-warning-tint); }

@media (max-width: 700px) {
    .lt-crm-dash__segmento[b-9fbier7vmx] { grid-template-columns: 1fr auto; }
    .lt-crm-dash__segbarra[b-9fbier7vmx] { grid-column: 1 / -1; }
    .lt-crm-dash__fim[b-9fbier7vmx] { margin-left: 0; }
}

/* O nome do segmento abre a lista dele: é a ligação da casa (lt-btn--link), encostada à esquerda como texto.
   ⚠️ 2026-09-25: a regra antiga era `.lt-crm-dash__segmento > button…` — filho DIRETO — e o botão passou a viver
   dentro do `__segquem` quando o nome e a descrição ficaram um por cima do outro. A regra deixou de casar e os
   nomes saíram como botões nativos do browser, cinzentos e em relevo (o dono: «estes botões antiquados»). */
.lt-crm-dash__segnome.lt-btn[b-9fbier7vmx] { align-self: flex-start; min-height: 0; padding: 0; font-size: .85rem; font-weight: 600; text-align: left; }
.lt-crm-dash__segnome.is-vazio[b-9fbier7vmx] { color: var(--lt-muted); }
.lt-crm-dash__segmento.is-sel[b-9fbier7vmx] { outline: 1px solid var(--lt-brand); }

/* A lista por trás do segmento. */
.lt-crm-dash__lista[b-9fbier7vmx] { margin-top: .6rem; padding-top: .5rem; border-top: 1px solid var(--lt-line); }
.lt-crm-dash__listatopo[b-9fbier7vmx] { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.lt-crm-dash__listatopo h3[b-9fbier7vmx] { margin: 0; font-size: .9rem; }
.lt-crm-dash__pessoas[b-9fbier7vmx] { width: 100%; border-collapse: collapse; font-size: .84rem; }
.lt-crm-dash__pessoas th[b-9fbier7vmx] { text-align: left; font-weight: 600; color: var(--lt-muted); padding: .3rem .4rem; border-bottom: 1px solid var(--lt-line); }
.lt-crm-dash__pessoas td[b-9fbier7vmx] { padding: .3rem .4rem; border-bottom: 1px solid var(--lt-line); vertical-align: baseline; }
.lt-crm-dash__pessoas .is-num[b-9fbier7vmx] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-dash__pessoas small[b-9fbier7vmx] { color: var(--lt-muted); }
.lt-crm-dash__sr[b-9fbier7vmx] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* A ação «Ver clientes» no fundo do mosaico (margin-top:auto alinha-as todas na mesma linha da fila). O mosaico com
   a lista aberta fica marcado, para se ver de onde vem a lista que abriu por baixo. */
.lt-crm-dash__kpiver.lt-btn[b-9fbier7vmx] { margin-top: auto; align-self: flex-start; min-height: 0; padding: .4rem 0 0; font-size: .8rem; }
.lt-crm-dash__kpiver.lt-btn:hover:not(:disabled)[b-9fbier7vmx] { background: transparent; }
.lt-crm-dash__kpi.is-sel[b-9fbier7vmx] { border-color: var(--lt-brand); box-shadow: inset 0 0 0 1px var(--lt-brand); }
.lt-crm-dash__lista.lt-crm-dash__cartao[b-9fbier7vmx] { margin-top: 0; border-top: 1px solid var(--lt-line); }
.lt-crm-dash__pessoas tbody th[b-9fbier7vmx] { text-align: left; font-weight: 600; padding: .3rem .4rem; border-bottom: 1px solid var(--lt-line); }

/* A barra de filtros assenta no fundo da página: tem a sua própria faixa, como a barra de filtros dos dashboards do
   Salesforce, com o aspeto dos cartões do mockup. */
.lt-crm-dash__topo[b-9fbier7vmx] {
    padding: 10px 16px; background: var(--lt-surface); border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}

/* As ligações de um bloco para a área dele (o comercial: o funil e as propostas). */
.lt-crm-dash__ligacoes[b-9fbier7vmx] { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin: .4rem 0 0; font-size: .82rem; }
.lt-crm-dash__ligacao[b-9fbier7vmx] { color: var(--lt-brand-700); font-weight: 600; text-decoration: none; }
.lt-crm-dash__ligacao:hover[b-9fbier7vmx] { text-decoration: underline; }

/* A atividade recente (mockup `.feed-row`): a hora à esquerda, em números alinhados; o que aconteceu e quem, à direita. */
.lt-crm-dash__feed[b-9fbier7vmx] { margin: .2rem 0 0; padding: 0; list-style: none; }
.lt-crm-dash__passo[b-9fbier7vmx] { display: flex; gap: .8rem; padding: .5rem 0; border-bottom: 1px solid var(--lt-line); font-size: .84rem; }
.lt-crm-dash__passo:last-child[b-9fbier7vmx] { border-bottom: 0; }
.lt-crm-dash__quando[b-9fbier7vmx] { flex: 0 0 auto; min-width: 5.6rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-crm-dash__oque[b-9fbier7vmx] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lt-crm-dash__passotexto[b-9fbier7vmx] { color: var(--lt-ink); text-decoration: none; }
.lt-crm-dash__passotexto:hover[b-9fbier7vmx] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-dash__quem[b-9fbier7vmx] { font-size: .74rem; color: var(--lt-muted); }


/* Os destaques (Shopify «Insights», Tableau Pulse): uma lista curta no topo. A cor diz se é boa ou má notícia, mas
   nunca sozinha — o ícone e o texto dizem-no também. */
.lt-crm-dash__dlista[b-9fbier7vmx] { list-style: none; margin: .4rem 0 0; padding: 0; display: grid; gap: .35rem; }
.lt-crm-dash__destaque[b-9fbier7vmx] { display: flex; align-items: baseline; gap: .6rem; font-size: .86rem; line-height: 1.4; }
.lt-crm-dash__dicone[b-9fbier7vmx] {
    flex: 0 0 auto; display: inline-grid; place-items: center; width: 1.3rem; height: 1.3rem; border-radius: 50%;
    font-size: .7rem; font-weight: 700;
}
.lt-crm-dash__destaque.is-bom .lt-crm-dash__dicone[b-9fbier7vmx] { color: var(--lt-success-ink, var(--lt-ink)); background: var(--lt-success-tint, var(--lt-surface-2)); }
.lt-crm-dash__destaque.is-mau .lt-crm-dash__dicone[b-9fbier7vmx] { color: var(--lt-warning-ink); background: var(--lt-warning-tint); }
.lt-crm-dash__dtexto[b-9fbier7vmx] { flex: 1 1 auto; color: var(--lt-ink); }
.lt-crm-dash__dver[b-9fbier7vmx] { flex: 0 0 auto; white-space: nowrap; }
.lt-crm-dash__dnota[b-9fbier7vmx] { margin: 0 0 12px; font-size: .78rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmFornecedores.razor.rz.scp.css */
/* Fornecedores e laboratórios (objetivo O6). Bloco próprio `lt-crm-forn`; os cartões do mockup (`.info-card`). */
.lt-crm-forn__resumo[b-0yogczjn7f] { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-forn__num[b-0yogczjn7f] { padding: 14px 16px; background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card); }
.lt-crm-forn__num dt[b-0yogczjn7f] { font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-forn__num dd[b-0yogczjn7f] { margin: 6px 0 0; font-size: 1.6rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--lt-ink); }

.lt-crm-forn__topo[b-0yogczjn7f] {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1rem; margin-bottom: 14px; padding: 12px 18px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-forn__topo[b-0yogczjn7f]  .lt-field:first-child { flex: 1 1 18rem; max-width: 26rem; }
.lt-crm-forn__msg[b-0yogczjn7f] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }
.lt-crm-forn__acoes[b-0yogczjn7f] { margin: .5rem 0 0; }

.lt-crm-forn__grelha[b-0yogczjn7f] { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 14px; }
.lt-crm-forn__cartao[b-0yogczjn7f] {
    display: flex; flex-direction: column; gap: 10px; padding: 15px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-forn__cabeca[b-0yogczjn7f] { display: flex; align-items: center; gap: 10px; }
.lt-crm-forn__ident[b-0yogczjn7f] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lt-crm-forn__nome[b-0yogczjn7f] { margin: 0; font-size: .92rem; font-weight: 600; line-height: 1.25; color: var(--lt-ink); }
.lt-crm-forn__etiquetas[b-0yogczjn7f] { display: flex; flex-wrap: wrap; gap: 4px; }
.lt-crm-forn__dados[b-0yogczjn7f] { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0; font-size: .8rem; }
.lt-crm-forn__dados dt[b-0yogczjn7f] { color: var(--lt-muted); }
.lt-crm-forn__dados dd[b-0yogczjn7f] { margin: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.lt-crm-forn__contacto[b-0yogczjn7f] { font-weight: 600; color: var(--lt-ink); }
.lt-crm-forn__sub[b-0yogczjn7f] { font-size: .76rem; color: var(--lt-muted); }
.lt-crm-forn__semvalor[b-0yogczjn7f] { color: var(--lt-muted); }
.lt-crm-forn__rodape[b-0yogczjn7f] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; }
.lt-crm-forn__accao.lt-btn[b-0yogczjn7f] { min-height: 30px; padding: 5px 10px; font-size: .78rem; font-weight: 600; border-color: transparent; background: var(--lt-neutro-tint); gap: .3rem; }
.lt-crm-forn__accao.lt-btn:hover:not(:disabled)[b-0yogczjn7f] { background: var(--lt-line); }
.lt-crm-forn__classificar.lt-btn[b-0yogczjn7f] { min-height: 30px; font-size: .78rem; margin-left: auto; }

/* As linhas da sheet dos contactos (o mesmo arranjo das linhas dos controlos). */
.lt-crm-forn__linha[b-0yogczjn7f] { display: flex; align-items: center; gap: 10px; margin: 0; padding: 11px 14px; border-bottom: 1px solid var(--lt-line); font-size: .83rem; }
.lt-crm-forn__contactolinha[b-0yogczjn7f] { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmFunil.razor.rz.scp.css */
/* O funil comercial do CRM (O6 / F5.2). Bloco próprio `lt-crm-funil` — no ficheiro DESTE componente (o CSS scoped só
   se aplica ao markup do próprio). O aspeto do mockup: mosaicos de números, filtros em pill e o quadro kanban. */

.lt-crm-funil__novo[b-s8uab7cq54] { gap: .35rem; }
.lt-crm-funil__msg[b-s8uab7cq54] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }
.lt-crm-funil__erro[b-s8uab7cq54] {
    padding: 14px 18px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-funil__acoes[b-s8uab7cq54] { margin: .5rem 0 0; }

/* O resumo em mosaicos (mockup `.stat-row` / `.stat-tile`). */
.lt-crm-funil__resumo[b-s8uab7cq54] { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-funil__num[b-s8uab7cq54] {
    padding: 14px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-funil__num dt[b-s8uab7cq54] { font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-funil__num dd[b-s8uab7cq54] { margin: 6px 0 0; font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-funil__num dd.lt-crm-funil__numdica[b-s8uab7cq54] { margin-top: 4px; font-size: .74rem; font-weight: 400; letter-spacing: 0; line-height: 1.35; color: var(--lt-muted); }

/* A barra: o tipo em filtros (ligado = preenchido) e, à direita, todas as lojas. */
.lt-crm-funil__barra[b-s8uab7cq54] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; margin: 0 0 12px; }
.lt-crm-funil__filtros[b-s8uab7cq54] { display: flex; flex-wrap: wrap; gap: .4rem; }
.lt-crm-funil__filtro[b-s8uab7cq54] {
    padding: .35rem .8rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: var(--lt-ink-2); font: inherit; font-size: .82rem; cursor: pointer;
    transition: background .12s ease, border-color .12s ease;
}
.lt-crm-funil__filtro:hover[b-s8uab7cq54] { border-color: var(--lt-brand); }
.lt-crm-funil__filtro:focus-visible[b-s8uab7cq54] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-funil__filtro.is-on[b-s8uab7cq54] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-ink); }

/* Estado vazio: a frase e o passo seguinte, por cima do quadro (as colunas ficam, para se ver o caminho). */
.lt-crm-funil__vazio[b-s8uab7cq54] { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: .5rem 1rem 1rem; text-align: center; }
.lt-crm-funil__vaziotitulo[b-s8uab7cq54] { margin: 0; font-weight: 600; color: var(--lt-ink-2); }
.lt-crm-funil__vaziodica[b-s8uab7cq54] { margin: 0; font-size: .82rem; color: var(--lt-muted); }

/* A nota de contexto (mockup `.scope-note`): fundo de informação e ícone. */
.lt-crm-funil__nota[b-s8uab7cq54] {
    display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; padding: 10px 13px;
    font-size: .8rem; color: var(--lt-info-ink); background: var(--lt-info-tint); border-radius: 10px;
}
/* _content/Logitools.Client.Shared/Components/Crm/CrmInqueritoEditor.razor.rz.scp.css */
/* O editor de um inquérito (O5): as perguntas em blocos, cada um com o texto, o tipo e as opções. */
.lt-crm-inqedit__regra[b-ctthgknkaa] { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .25rem 1.25rem; margin: 0 0 .75rem; }
.lt-crm-inqedit__limiar[b-ctthgknkaa] { max-width: 20rem; }
.lt-crm-inqedit__dica[b-ctthgknkaa] { margin: -.4rem 0 0; font-size: .76rem; color: var(--lt-muted); }

.lt-crm-inqedit__perguntas[b-ctthgknkaa] { display: flex; flex-direction: column; gap: 10px; margin: 0 0 10px; }
.lt-crm-inqedit__pergunta[b-ctthgknkaa] { padding: 10px 12px 2px; border: 1px solid var(--lt-line); border-radius: var(--lt-radius); background: var(--lt-surface-2); }
.lt-crm-inqedit__ptopo[b-ctthgknkaa] { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: 0 0 4px; }
.lt-crm-inqedit__pnum[b-ctthgknkaa] { font-size: .72rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-inqedit__pbotoes[b-ctthgknkaa] { display: inline-flex; gap: 2px; }
.lt-crm-inqedit__mover.lt-btn[b-ctthgknkaa], .lt-crm-inqedit__remover.lt-btn[b-ctthgknkaa] { min-width: 30px; min-height: 30px; padding: 2px 6px; font-size: 1rem; line-height: 1; }
.lt-crm-inqedit__remover.lt-btn[b-ctthgknkaa] { color: var(--lt-danger-ink); }
.lt-crm-inqedit__plinha[b-ctthgknkaa] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .25rem 1rem; }
.lt-crm-inqedit__plinha[b-ctthgknkaa]  .lt-field { min-width: 14rem; }
.lt-crm-inqedit__pchecks[b-ctthgknkaa] { display: flex; flex-wrap: wrap; gap: 0 1rem; margin-bottom: .6rem; }
.lt-crm-inqedit__opcoes[b-ctthgknkaa] { display: flex; flex-direction: column; gap: 4px; margin: 0 0 .6rem; padding-left: .75rem; border-left: 2px solid var(--lt-line); }
.lt-crm-inqedit__opcao[b-ctthgknkaa] { display: flex; align-items: center; gap: 4px; }
.lt-crm-inqedit__opcao[b-ctthgknkaa]  .lt-field { flex: 1 1 auto; margin: 0; }
.lt-crm-inqedit__maisopcao.lt-btn[b-ctthgknkaa] { align-self: flex-start; min-height: 30px; padding: 4px 2px; font-size: .8rem; }
.lt-crm-inqedit__mais.lt-btn[b-ctthgknkaa] { gap: .35rem; }
.lt-crm-inqedit__vazio[b-ctthgknkaa] { margin: 0; padding: .8rem; text-align: center; font-size: .85rem; color: var(--lt-muted); }

/* Em consulta (ativo ou fechado): a lista das perguntas. */
.lt-crm-inqedit__linha[b-ctthgknkaa] { display: flex; justify-content: space-between; gap: 1rem; padding: 9px 0; border-bottom: 1px solid var(--lt-line); font-size: .88rem; }
.lt-crm-inqedit__rotulo[b-ctthgknkaa] { color: var(--lt-muted); }
.lt-crm-inqedit__texto[b-ctthgknkaa] { font-weight: 600; color: var(--lt-ink); text-align: right; }
.lt-crm-inqedit__lista[b-ctthgknkaa] { margin: .75rem 0 0; padding-left: 1.2rem; display: flex; flex-direction: column; gap: 8px; }
.lt-crm-inqedit__ltexto[b-ctthgknkaa] { display: block; font-weight: 600; color: var(--lt-ink); }
.lt-crm-inqedit__ltipo[b-ctthgknkaa], .lt-crm-inqedit__lopcoes[b-ctthgknkaa] { display: block; font-size: .78rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmInqueritoResponder.razor.rz.scp.css */
/* Registar uma resposta (O5): o cliente numa linha, depois as perguntas pelo tipo. */
.lt-crm-inqresp__linha[b-yis4pjl8os] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 4px 0 12px; margin: 0 0 12px; border-bottom: 1px solid var(--lt-line); }
.lt-crm-inqresp__rotulo[b-yis4pjl8os] { font-size: .8rem; font-weight: 600; color: var(--lt-ink-2); }
.lt-crm-inqresp__valor[b-yis4pjl8os] { display: inline-flex; align-items: center; gap: .6rem; }
.lt-crm-inqresp__nome[b-yis4pjl8os] { font-weight: 600; color: var(--lt-ink); }
.lt-crm-inqresp__sem[b-yis4pjl8os] { color: var(--lt-muted); font-style: italic; }
.lt-crm-inqresp__multipla[b-yis4pjl8os] { border: 0; margin: 0 0 .9rem; padding: 0; min-width: 0; display: flex; flex-direction: column; }
.lt-crm-inqresp__legenda[b-yis4pjl8os] { padding: 0; margin: 0 0 .2rem; font-size: .8rem; font-weight: 600; color: var(--lt-ink-2); }
.lt-crm-inqresp__dica[b-yis4pjl8os] { margin: -.5rem 0 .75rem; font-size: .76rem; color: var(--lt-muted); }
.lt-crm-inqresp__caso[b-yis4pjl8os] { margin: .25rem 0 0; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmInqueritos.razor.rz.scp.css */
/* Inquéritos do CRM (O5 / F3.2). Bloco próprio `lt-crm-inq` — no ficheiro DESTE componente. O aspeto do mockup: mosaicos
   de números, os modelos em cartões (mockup `.info-card` com a lista das perguntas) e a tabela das respostas com a nota
   em pill. A cor da nota tem a fronteira do caso (D20) e nunca é a única pista: diz-se o número. */

.lt-crm-inq__novo[b-ia2kjn4dd7] { gap: .35rem; }
.lt-crm-inq__msg[b-ia2kjn4dd7] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-inq__corpo[b-ia2kjn4dd7] { padding: 14px 18px; }
.lt-crm-inq__acoes[b-ia2kjn4dd7] { margin: .5rem 0 0; }
.lt-crm-inq__sr[b-ia2kjn4dd7] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.lt-crm-inq__resumo[b-ia2kjn4dd7] { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-inq__num[b-ia2kjn4dd7] {
    padding: 14px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-inq__num dt[b-ia2kjn4dd7] { font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-inq__num dd[b-ia2kjn4dd7] { margin: 6px 0 0; font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-inq__num dd.lt-crm-inq__numdica[b-ia2kjn4dd7] { margin-top: 4px; font-size: .78rem; font-weight: 500; letter-spacing: 0; color: var(--lt-muted); }

.lt-crm-inq__bloco[b-ia2kjn4dd7] { margin: 0 0 14px; }
.lt-crm-inq__cartao[b-ia2kjn4dd7] {
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-inq__cabeca[b-ia2kjn4dd7] {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 1rem;
    padding: 14px 18px 10px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-inq__cabeca--solta[b-ia2kjn4dd7] { padding: 0 0 10px; border-bottom: 0; }
.lt-crm-inq__h2[b-ia2kjn4dd7] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-inq__sub[b-ia2kjn4dd7] { margin: 3px 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-inq__filtro[b-ia2kjn4dd7] { min-width: 14rem; }
.lt-crm-inq__filtro[b-ia2kjn4dd7]  .lt-field { margin: 0; }

.lt-crm-inq__vazio[b-ia2kjn4dd7] { padding: 1.4rem 18px; text-align: center; }
.lt-crm-inq__vaziotitulo[b-ia2kjn4dd7] { margin: 0; font-weight: 600; color: var(--lt-ink); }
.lt-crm-inq__vaziodica[b-ia2kjn4dd7] { margin: .3rem 0 0; font-size: .85rem; color: var(--lt-muted); }

/* Os modelos em cartões, a toda a largura (grelha responsiva). */
.lt-crm-inq__grelha[b-ia2kjn4dd7] { display: grid; grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); gap: 12px; }
.lt-crm-inq__modelo[b-ia2kjn4dd7] {
    display: flex; flex-direction: column; gap: 10px; padding: 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-inq__mtopo[b-ia2kjn4dd7] { display: flex; align-items: flex-start; gap: 12px; }
.lt-crm-inq__mtitulo[b-ia2kjn4dd7] { flex: 1 1 auto; min-width: 0; }
.lt-crm-inq__h3[b-ia2kjn4dd7] { margin: 0; font-size: .95rem; font-weight: 700; color: var(--lt-ink); overflow-wrap: anywhere; }
.lt-crm-inq__mregra[b-ia2kjn4dd7] { margin: 2px 0 0; font-size: .78rem; color: var(--lt-muted); }

.lt-crm-inq__metricas[b-ia2kjn4dd7] { display: grid; grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr)); gap: 8px; margin: 0; }
.lt-crm-inq__metricas > div[b-ia2kjn4dd7] { padding: 8px 10px; background: var(--lt-surface-2); border-radius: var(--lt-radius-sm); }
.lt-crm-inq__metricas dt[b-ia2kjn4dd7] { font-size: .66rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-inq__metricas dd[b-ia2kjn4dd7] { margin: 2px 0 0; font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-inq__grupos[b-ia2kjn4dd7] { margin: -2px 0 0; font-size: .76rem; color: var(--lt-muted); }

.lt-crm-inq__perguntas[b-ia2kjn4dd7] { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.lt-crm-inq__perguntas li[b-ia2kjn4dd7] { padding: 6px 9px; font-size: .8rem; color: var(--lt-ink-2); background: var(--lt-surface-2); border-radius: 8px; }
.lt-crm-inq__tipo[b-ia2kjn4dd7] { color: var(--lt-muted); font-size: .74rem; }
.lt-crm-inq__semperg[b-ia2kjn4dd7] { font-style: italic; }
.lt-crm-inq__mais[b-ia2kjn4dd7], .lt-crm-inq__loja[b-ia2kjn4dd7] { margin: -4px 0 0; font-size: .76rem; color: var(--lt-muted); }

.lt-crm-inq__maccoes[b-ia2kjn4dd7] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: auto; padding-top: 4px; border-top: 1px solid var(--lt-line); }
.lt-crm-inq__accao.lt-btn[b-ia2kjn4dd7] {
    min-height: 30px; padding: 5px 10px; font-size: .78rem; font-weight: 600;
    border-color: transparent; background: var(--lt-neutro-tint);
}
.lt-crm-inq__accao.lt-btn:hover:not(:disabled)[b-ia2kjn4dd7] { background: var(--lt-line); }
.lt-crm-inq__responder.lt-btn[b-ia2kjn4dd7] { color: #fff; background: var(--lt-brand); }
.lt-crm-inq__responder.lt-btn:hover:not(:disabled)[b-ia2kjn4dd7] { background: var(--lt-brand-600); }
.lt-crm-inq__ligacao.lt-btn[b-ia2kjn4dd7] { min-height: 30px; padding: 5px 6px; font-size: .78rem; }

/* A tabela das respostas (micro-cabeçalhos, linhas de 11×18 px). */
.lt-crm-inq__rolo[b-ia2kjn4dd7] { overflow-x: auto; }
.lt-crm-inq__tabela[b-ia2kjn4dd7] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-inq__tabela thead th[b-ia2kjn4dd7] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-inq__tabela tbody th[b-ia2kjn4dd7], .lt-crm-inq__tabela td[b-ia2kjn4dd7] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-inq__tabela tbody tr:last-child > *[b-ia2kjn4dd7] { border-bottom: 0; }
.lt-crm-inq__tabela tbody tr:hover > *[b-ia2kjn4dd7] { background: var(--lt-surface-2); }
.lt-crm-inq__pessoa[b-ia2kjn4dd7] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-inq__nome[b-ia2kjn4dd7] { font-weight: 600; color: var(--lt-ink); text-decoration: none; }
.lt-crm-inq__nome:hover[b-ia2kjn4dd7] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-inq__anonima[b-ia2kjn4dd7] { color: var(--lt-muted); font-style: italic; }
.lt-crm-inq__rtitulo[b-ia2kjn4dd7] { display: block; color: var(--lt-ink); }
.lt-crm-inq__rorigem[b-ia2kjn4dd7] { display: block; margin-top: 2px; font-size: .74rem; color: var(--lt-muted); }
.lt-crm-inq__semnota[b-ia2kjn4dd7] { color: var(--lt-muted); }
.lt-crm-inq__comentario[b-ia2kjn4dd7] { max-width: 26rem; color: var(--lt-ink-2); overflow-wrap: anywhere; }
.lt-crm-inq__oculta[b-ia2kjn4dd7] { color: var(--lt-muted); font-style: italic; }
.lt-crm-inq__data[b-ia2kjn4dd7] { white-space: nowrap; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-crm-inq__caso[b-ia2kjn4dd7] { text-decoration: none; }
.lt-crm-inq__accoes[b-ia2kjn4dd7] { text-align: right; white-space: nowrap; }

/* O registo acabado de gravar pisca e fica à vista (como nos casos). */
.lt-crm-inq__modelo.is-novo[b-ia2kjn4dd7], .lt-crm-inq__tabela tr.is-novo > *[b-ia2kjn4dd7] { animation: lt-crm-inq-novo-b-ia2kjn4dd7 1.6s ease-out 1; }
@keyframes lt-crm-inq-novo-b-ia2kjn4dd7 { from { background: var(--lt-brand-tint); } to { background: transparent; } }

/* A resposta aberta (sheet de consulta): pergunta à esquerda, resposta à direita. */
.lt-crm-inq__vlinha[b-ia2kjn4dd7] { display: flex; gap: 1rem; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(--lt-line); font-size: .88rem; }
.lt-crm-inq__vlinha:last-child[b-ia2kjn4dd7] { border-bottom: 0; }
.lt-crm-inq__vrotulo[b-ia2kjn4dd7] { color: var(--lt-muted); }
.lt-crm-inq__vlinha--perg .lt-crm-inq__vrotulo[b-ia2kjn4dd7] { color: var(--lt-ink-2); flex: 1 1 55%; }
.lt-crm-inq__vvalor[b-ia2kjn4dd7] { font-weight: 600; color: var(--lt-ink); text-align: right; overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) {
    .lt-crm-inq__modelo.is-novo[b-ia2kjn4dd7], .lt-crm-inq__tabela tr.is-novo > *[b-ia2kjn4dd7] { animation: none; }
}
/* _content/Logitools.Client.Shared/Components/Crm/CrmIntegracoes.razor.rz.scp.css */
/* Integrações do CRM (O8, 3.ª parte). Bloco próprio `lt-crm-integ` — no ficheiro DESTE componente. A tabela do mockup
   (integração, categoria em chip, estado em pill, descrição), com o que precisa de atenção à parte, primeiro. */

.lt-crm-integ__msg[b-t810e82axm] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-integ__corpo[b-t810e82axm] { padding: 14px 18px; }
.lt-crm-integ__acoes[b-t810e82axm] { margin: .5rem 0 0; }

.lt-crm-integ__atencao[b-t810e82axm] { display: flex; flex-direction: column; gap: 8px; margin: 0 0 14px; }

.lt-crm-integ__cartao[b-t810e82axm] {
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-integ__cabeca[b-t810e82axm] {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 1rem;
    padding: 14px 18px 10px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-integ__h2[b-t810e82axm] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-integ__sub[b-t810e82axm] { margin: 3px 0 0; font-size: .8rem; color: var(--lt-muted); }

.lt-crm-integ__rolo[b-t810e82axm] { overflow-x: auto; }
.lt-crm-integ__tabela[b-t810e82axm] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-integ__tabela thead th[b-t810e82axm] {
    padding: 10px 14px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-integ__tabela tbody th:first-child[b-t810e82axm], .lt-crm-integ__tabela thead th:first-child[b-t810e82axm] { padding-left: 18px; }
.lt-crm-integ__tabela tbody th[b-t810e82axm], .lt-crm-integ__tabela td[b-t810e82axm] {
    padding: 11px 14px; text-align: left; font-weight: 400; vertical-align: top; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-integ__tabela tbody tr:last-child > *[b-t810e82axm] { border-bottom: 0; }
.lt-crm-integ__tabela tbody tr:hover > *[b-t810e82axm] { background: var(--lt-surface-2); }
/* O nome pode quebrar (numa janela média, a última atividade tem de caber sem rolar). */
.lt-crm-integ__nome[b-t810e82axm] { min-width: 8rem; font-weight: 600 !important; color: var(--lt-ink); }
.lt-crm-integ__descricao[b-t810e82axm] { min-width: 14rem; color: var(--lt-ink-2); }
.lt-crm-integ__fox[b-t810e82axm] { display: block; margin-top: 4px; font-size: .78rem; color: var(--lt-muted); }
.lt-crm-integ__atividade[b-t810e82axm] { white-space: nowrap; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-crm-integ__ms[b-t810e82axm] { display: block; margin-top: 2px; font-size: .74rem; color: var(--lt-muted); }

.lt-crm-integ__nota[b-t810e82axm] { margin: 0; font-size: .8rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmMovimentoSegmentos.razor.rz.scp.css */
/* O movimento entre grupos RFM (dashboard do CRM). Bloco próprio `lt-crm-mov`, com o aspeto dos cartões do dashboard
   e a matriz como a tabela das coortes: fundo proporcional à parte da linha. Realce só nas passagens para os grupos
   que o dashboard acende (Em risco, Antes leais). */
.lt-crm-mov[b-j73vi1ils7] {
    padding: 15px 18px; margin-bottom: 18px;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); background: var(--lt-surface);
    box-shadow: var(--lt-shadow-card);
}
.lt-crm-mov__h2[b-j73vi1ils7] { margin: 0; font-size: .98rem; font-weight: 600; letter-spacing: -.01em; }
.lt-crm-mov__sub[b-j73vi1ils7] { margin: .15rem 0 .5rem; font-size: .76rem; color: var(--lt-muted); }
.lt-crm-mov__sub.is-erro[b-j73vi1ils7] { color: var(--lt-danger); }
.lt-crm-mov__msg[b-j73vi1ils7] { margin: 0; padding: 1rem .25rem; color: var(--lt-muted); text-align: center; }
.lt-crm-mov__nota[b-j73vi1ils7] { margin: .5rem 0 0; font-size: .74rem; color: var(--lt-muted); }

.lt-crm-mov__resumo[b-j73vi1ils7] { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: .2rem 0 .7rem; }
.lt-crm-mov__resumo div[b-j73vi1ils7] { display: flex; align-items: baseline; gap: .4rem; }
.lt-crm-mov__resumo dt[b-j73vi1ils7] { font-size: .76rem; color: var(--lt-muted); }
.lt-crm-mov__resumo dd[b-j73vi1ils7] { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }

.lt-crm-mov__rolo[b-j73vi1ils7] { overflow-x: auto; }
.lt-crm-mov__rolo:focus-visible[b-j73vi1ils7] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-mov__matriz[b-j73vi1ils7] { border-collapse: separate; border-spacing: 2px; font-size: .76rem; font-variant-numeric: tabular-nums; }
.lt-crm-mov__matriz th[b-j73vi1ils7] { padding: .15rem .4rem; font-weight: 600; color: var(--lt-muted); text-align: left; white-space: nowrap; }
.lt-crm-mov__matriz thead th[b-j73vi1ils7] { vertical-align: bottom; max-width: 6.5rem; white-space: normal; line-height: 1.15; }
.lt-crm-mov__canto[b-j73vi1ils7] { font-weight: 400 !important; font-style: italic; }
.lt-crm-mov__matriz td[b-j73vi1ils7] { min-width: 2.6rem; padding: 0; text-align: center; border-radius: 3px; }
.lt-crm-mov__matriz .is-num[b-j73vi1ils7] { text-align: right; padding: .2rem .4rem; }
.lt-crm-mov__vazia[b-j73vi1ils7] { background: var(--lt-surface-2); }
.lt-crm-mov__celula[b-j73vi1ils7] { background: color-mix(in srgb, var(--lt-brand) calc(var(--f) * 100%), var(--lt-surface-2)); color: var(--lt-ink); }
.lt-crm-mov__celula.is-escura[b-j73vi1ils7] { color: var(--lt-surface); }
.lt-crm-mov__celula.is-igual[b-j73vi1ils7] { box-shadow: inset 0 0 0 1px var(--lt-line); }
.lt-crm-mov__celula.is-aviso[b-j73vi1ils7] { box-shadow: inset 0 0 0 2px var(--lt-warning); }
.lt-crm-mov__num[b-j73vi1ils7] {
    display: block; width: 100%; padding: .2rem .3rem; border: 0; background: none; color: inherit;
    font: inherit; font-variant-numeric: tabular-nums; cursor: pointer; border-radius: 3px;
}
.lt-crm-mov__num:hover[b-j73vi1ils7] { text-decoration: underline; }
.lt-crm-mov__num:focus-visible[b-j73vi1ils7] { outline: 2px solid var(--lt-ink); outline-offset: -2px; }
.lt-crm-mov__num[aria-pressed="true"][b-j73vi1ils7] { outline: 2px solid var(--lt-ink); outline-offset: -2px; }
.lt-crm-mov__total[b-j73vi1ils7] { color: var(--lt-ink-2); }

.lt-crm-mov__lista[b-j73vi1ils7] { margin-top: .6rem; padding-top: .5rem; border-top: 1px solid var(--lt-line); }
.lt-crm-mov__listatopo[b-j73vi1ils7] { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.lt-crm-mov__listatopo h3[b-j73vi1ils7] { margin: 0; font-size: .9rem; }
.lt-crm-mov__pessoas[b-j73vi1ils7] { width: 100%; border-collapse: collapse; font-size: .84rem; }
.lt-crm-mov__pessoas th[b-j73vi1ils7] { text-align: left; font-weight: 600; color: var(--lt-muted); padding: .3rem .4rem; border-bottom: 1px solid var(--lt-line); }
.lt-crm-mov__pessoas td[b-j73vi1ils7] { padding: .3rem .4rem; border-bottom: 1px solid var(--lt-line); vertical-align: baseline; }
.lt-crm-mov__pessoas .is-num[b-j73vi1ils7] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-mov__nome[b-j73vi1ils7] { font-weight: 600; color: var(--lt-ink); text-decoration: none; }
.lt-crm-mov__nome:hover[b-j73vi1ils7] { color: var(--lt-brand-700); text-decoration: underline; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmOportunidadeCartao.razor.rz.scp.css */
/* Um cartão do funil — bloco próprio `lt-crm-oport`. Medidas do mockup (`.kcard`: raio 10, 10×11 px, sombra suave). */
.lt-crm-oport[b-3n0e16n2iq] {
    display: flex; flex-direction: column; gap: 5px; padding: 10px 11px;
    font-size: .8rem; color: var(--lt-ink-2);
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: 10px; box-shadow: var(--lt-shadow-card);
}
/* Arrastável: a mão diz que o cartão se leva para outra coluna. */
.lt-crm-oport.is-arrastavel[b-3n0e16n2iq] { cursor: grab; }
.lt-crm-oport.is-arrastavel:active[b-3n0e16n2iq] { cursor: grabbing; }
.lt-crm-oport__topo[b-3n0e16n2iq] { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px; }
.lt-crm-oport__titulo[b-3n0e16n2iq] { margin: 0; font-size: .84rem; font-weight: 600; line-height: 1.3; color: var(--lt-ink); }
.lt-crm-oport p[b-3n0e16n2iq] { margin: 0; }
.lt-crm-oport__entidade[b-3n0e16n2iq] { display: flex; align-items: center; gap: 7px; min-width: 0; }
.lt-crm-oport__nome[b-3n0e16n2iq] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lt-ink-2); }
a.lt-crm-oport__nome[b-3n0e16n2iq] { text-decoration: none; }
a.lt-crm-oport__nome:hover[b-3n0e16n2iq] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-oport__valor[b-3n0e16n2iq] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-variant-numeric: tabular-nums; }
.lt-crm-oport__euros[b-3n0e16n2iq] { font-weight: 600; color: var(--lt-ink); }
.lt-crm-oport__pond[b-3n0e16n2iq] { font-size: .74rem; color: var(--lt-muted); }
.lt-crm-oport__data[b-3n0e16n2iq] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: .74rem; color: var(--lt-muted); }
/* Só o fecho previsto que já passou fica vermelho (realce = estado acionável). */
.lt-crm-oport__data.is-atraso[b-3n0e16n2iq] { color: var(--lt-danger-ink); font-weight: 600; }
.lt-crm-oport__motivo[b-3n0e16n2iq] { font-size: .76rem; font-style: italic; color: var(--lt-ink-2); }
.lt-crm-oport.is-perdida .lt-crm-oport__motivo[b-3n0e16n2iq] { color: var(--lt-danger-ink); }
.lt-crm-oport.is-ganha .lt-crm-oport__motivo[b-3n0e16n2iq] { color: var(--lt-success-ink); }
.lt-crm-oport__nota[b-3n0e16n2iq] { font-size: .74rem; color: var(--lt-muted); }
.lt-crm-oport__loja[b-3n0e16n2iq] { font-size: .72rem; color: var(--lt-muted); }

/* As ações (mockup `.kactions`, `btn-sm`): pequenas e cinzentas; «Ganhar» a verde; perder e reabrir como ligação. */
.lt-crm-oport__accoes[b-3n0e16n2iq] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; }
.lt-crm-oport__accao.lt-btn[b-3n0e16n2iq],
.lt-crm-oport__recuar.lt-btn[b-3n0e16n2iq] {
    display: inline-flex; align-items: center; gap: 4px;
    min-height: 28px; padding: 4px 9px; font-size: .76rem; font-weight: 600;
    border-color: transparent; background: var(--lt-neutro-tint);
}
.lt-crm-oport__accao.lt-btn:hover:not(:disabled)[b-3n0e16n2iq],
.lt-crm-oport__recuar.lt-btn:hover:not(:disabled)[b-3n0e16n2iq] { background: var(--lt-line); }
.lt-crm-oport__recuar.lt-btn[b-3n0e16n2iq] { padding: 4px 7px; }
.lt-crm-oport__recuar[b-3n0e16n2iq]  svg { transform: scaleX(-1); }
.lt-crm-oport__ganhar.lt-btn[b-3n0e16n2iq] { color: var(--lt-success-ink); background: var(--lt-success-tint); }
.lt-crm-oport__ganhar.lt-btn:hover:not(:disabled)[b-3n0e16n2iq] { background: color-mix(in srgb, var(--lt-success) 22%, var(--lt-surface)); }
.lt-crm-oport__ligacao.lt-btn[b-3n0e16n2iq] { min-height: 28px; padding: 4px 2px; font-size: .76rem; }
.lt-crm-oport__perder.lt-btn[b-3n0e16n2iq] { margin-left: auto; color: var(--lt-danger-ink); }

/* O cartão acabado de criar ou de mexer pisca uma vez (mockup `hl-new`, 1,6 s). */
.lt-crm-oport.is-novo[b-3n0e16n2iq] { animation: lt-crm-oport-novo-b-3n0e16n2iq 1.6s ease-out; }
@keyframes lt-crm-oport-novo-b-3n0e16n2iq { 0% { background: var(--lt-brand-tint); } 70% { background: var(--lt-brand-tint); } 100% { background: var(--lt-surface); } }
@media (prefers-reduced-motion: reduce) { .lt-crm-oport.is-novo[b-3n0e16n2iq] { animation: none; } }
/* _content/Logitools.Client.Shared/Components/Crm/CrmOportunidadeNova.razor.rz.scp.css */
/* «Nova oportunidade» — bloco próprio `lt-crm-oportnova`. A linha do cliente tem o arranjo das outras linhas do sheet
   (rótulo à esquerda, valor à direita, 11×14 px, linha por baixo), como no «Novo caso». */
.lt-crm-oportnova__cliente[b-iozkqaithv] {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px;
    padding: 11px 14px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-oportnova__rotulo[b-iozkqaithv] { font-size: .83rem; color: var(--lt-ink); }
.lt-crm-oportnova__valor[b-iozkqaithv] { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.lt-crm-oportnova__nome[b-iozkqaithv] { font-size: .83rem; font-weight: 600; }
.lt-crm-oportnova__sem[b-iozkqaithv] { font-size: .83rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmPainel.razor.rz.scp.css */
/* Painel central do CRM. Bloco próprio `lt-crm-painel` (UI-CONVENTIONS §2) — no ficheiro DESTE componente:
   o CSS scoped só se aplica ao markup do próprio (lição do lt-crm-casos). */

/* As ações do cabeçalho: o âmbito, a hora da contagem e «Atualizar». */
.lt-crm-painel__topo[b-9zbbu8k8aj] { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.lt-crm-painel__hora[b-9zbbu8k8aj] { font-size: .8rem; color: var(--lt-muted); }
.lt-crm-painel__msg[b-9zbbu8k8aj] { margin: 0; padding: 1.5rem .25rem; color: var(--lt-muted); text-align: center; }

/* Largura toda (memória ui-full-width): tantos mosaicos por linha quantos couberem. */
.lt-crm-painel__grelha[b-9zbbu8k8aj] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 14px;
}

/* O mosaico é um cartão (SLDS Cards): o título é a ligação; o cartão em si não é clicável (SLDS 2). */
.lt-crm-painel__mosaico[b-9zbbu8k8aj] {
    display: flex; flex-direction: column; gap: .45rem;
    padding: 15px 16px;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg);
    box-shadow: var(--lt-shadow-card);
    /* Cartão branco sobre o fundo da página (SLDS card): o cinzento de superfície era para dentro de um cartão. */
    background: var(--lt-surface);
    color: var(--lt-ink);
}
.lt-crm-painel__mosaico.is-sem-acesso[b-9zbbu8k8aj] { background: var(--lt-surface-2); }

/* O topo do cartão (mockup `.info-card .top`): o azulejo da área e o título. */
.lt-crm-painel__cabeca[b-9zbbu8k8aj] { display: flex; align-items: center; gap: 10px; margin-bottom: 2px; }
.lt-crm-painel__nome[b-9zbbu8k8aj] { margin: 0; font-size: .95rem; font-weight: 600; }
/* A ligação tem a cor da interação (SLDS Color: o azul/marca é só para o que se clica) e sublinha ao passar. */
.lt-crm-painel__nome a[b-9zbbu8k8aj] { color: var(--lt-brand); text-decoration: none; }
.lt-crm-painel__nome a:hover[b-9zbbu8k8aj] { text-decoration: underline; }
.lt-crm-painel__nome a:focus-visible[b-9zbbu8k8aj] { outline: 2px solid var(--lt-brand); outline-offset: 2px; border-radius: 2px; }
.lt-crm-painel__ambito[b-9zbbu8k8aj] { font-size: .72rem; color: var(--lt-muted); }
.lt-crm-painel__descricao[b-9zbbu8k8aj] { font-size: .85rem; color: var(--lt-ink-2); }
.lt-crm-painel__nota[b-9zbbu8k8aj] { font-size: .75rem; color: var(--lt-muted); }
.lt-crm-painel__nota.is-erro[b-9zbbu8k8aj] { color: var(--lt-danger); }

.lt-crm-painel__numeros[b-9zbbu8k8aj] { display: flex; flex-direction: column; gap: .15rem; margin: .1rem 0 0; }
.lt-crm-painel__numeros > div[b-9zbbu8k8aj] { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem;
                                padding: .05rem .35rem; border-radius: var(--lt-radius-sm); }
.lt-crm-painel__numeros dt[b-9zbbu8k8aj] { font-size: .82rem; color: var(--lt-muted); }
.lt-crm-painel__numeros dd[b-9zbbu8k8aj] { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-painel__numeros .is-principal dt[b-9zbbu8k8aj] { color: var(--lt-ink); }
.lt-crm-painel__numeros .is-principal dd[b-9zbbu8k8aj] { font-size: 1.35rem; font-weight: 700; }
.lt-crm-painel__valor[b-9zbbu8k8aj] { font-size: .75rem; font-weight: 400; color: var(--lt-muted); }
/* O detalhe de um resumo (o fornecedor da próxima visita) pode ser comprido: corta com reticências, e o nome todo fica no title. */
.lt-crm-painel__detalhe[b-9zbbu8k8aj] { display: inline-block; max-width: 8.5rem; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; margin-left: .25rem; }

/* Realce = estado acionável, com a cor que a própria área usa: o atraso dos casos em texto de perigo (como a
   linha atrasada), o risco e o número diferente em fundo de aviso, o vale por usar em fundo da marca. */
.lt-crm-painel__numeros .is-atraso dd[b-9zbbu8k8aj] { color: var(--lt-danger); font-weight: 600; }
.lt-crm-painel__numeros .is-aviso[b-9zbbu8k8aj] { background: var(--lt-warning-tint); }
.lt-crm-painel__numeros .is-destaque[b-9zbbu8k8aj] { background: var(--lt-brand-tint); }


/* _content/Logitools.Client.Shared/Components/Crm/CrmPropostaEditor.razor.rz.scp.css */
/* A proposta em sheet larga — bloco próprio `lt-crm-propedit`. As linhas que não são um controlo da casa (o cliente,
   os valores só de leitura) têm o arranjo das outras linhas do sheet: rótulo à esquerda, valor à direita, 11×14 px. */
.lt-crm-propedit__linha[b-vn9hzaspx1] {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 14px;
    padding: 11px 14px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-propedit__rotulo[b-vn9hzaspx1] { font-size: .83rem; color: var(--lt-ink); }
.lt-crm-propedit__valor[b-vn9hzaspx1] { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.lt-crm-propedit__nome[b-vn9hzaspx1] { font-size: .83rem; font-weight: 600; }
.lt-crm-propedit__sem[b-vn9hzaspx1] { font-size: .83rem; color: var(--lt-muted); }
.lt-crm-propedit__texto[b-vn9hzaspx1] { font-size: .83rem; color: var(--lt-ink-2); text-align: right; }

/* Procurar e acrescentar produtos. */
.lt-crm-propedit__produtos[b-vn9hzaspx1] { padding: 10px 14px 4px; }
.lt-crm-propedit__procura[b-vn9hzaspx1] { display: flex; align-items: flex-end; gap: 8px; }
.lt-crm-propedit__procura[b-vn9hzaspx1]  .lt-field { flex: 1 1 auto; margin: 0; }
.lt-crm-propedit__resultados[b-vn9hzaspx1] { margin: 8px 0 0; padding: 4px; list-style: none; border: 1px solid var(--lt-line); border-radius: 10px; background: var(--lt-surface); }
.lt-crm-propedit__resultado[b-vn9hzaspx1] {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 7px 9px;
    border: 0; border-radius: 8px; background: transparent; font: inherit; text-align: left; cursor: pointer;
}
.lt-crm-propedit__resultado:hover[b-vn9hzaspx1], .lt-crm-propedit__resultado:focus-visible[b-vn9hzaspx1] { background: var(--lt-brand-tint); outline: none; }
.lt-crm-propedit__rdesign[b-vn9hzaspx1] { font-size: .84rem; font-weight: 600; color: var(--lt-ink); }
.lt-crm-propedit__rinfo[b-vn9hzaspx1] { font-size: .74rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-crm-propedit__semres[b-vn9hzaspx1] { padding: 8px 9px; font-size: .8rem; color: var(--lt-muted); }

/* A grelha das linhas. */
.lt-crm-propedit__rolo[b-vn9hzaspx1] { overflow-x: auto; padding: 6px 14px 10px; }
.lt-crm-propedit__tabela[b-vn9hzaspx1] { width: 100%; border-collapse: collapse; font-size: .83rem; }
.lt-crm-propedit__tabela thead th[b-vn9hzaspx1] {
    padding: 8px 8px; text-align: left; white-space: nowrap;
    font-size: .66rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-propedit__tabela tbody th[b-vn9hzaspx1], .lt-crm-propedit__tabela td[b-vn9hzaspx1] {
    padding: 6px 8px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-propedit__tabela .is-num[b-vn9hzaspx1] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-propedit__tabela td.is-num[b-vn9hzaspx1]  .lt-field { margin: 0; width: 6.5rem; margin-left: auto; }
.lt-crm-propedit__tabela tfoot th[b-vn9hzaspx1], .lt-crm-propedit__tabela tfoot td[b-vn9hzaspx1] { padding: 9px 8px 2px; font-weight: 700; color: var(--lt-ink); text-align: right; }
.lt-crm-propedit__design[b-vn9hzaspx1] { display: block; font-weight: 600; color: var(--lt-ink); }
.lt-crm-propedit__ref[b-vn9hzaspx1] { display: block; font-size: .72rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-crm-propedit__total[b-vn9hzaspx1] { font-weight: 600; color: var(--lt-ink); }
.lt-crm-propedit__vazio[b-vn9hzaspx1] { padding: 14px 8px; color: var(--lt-muted); text-align: center; }
.lt-crm-propedit__accoes[b-vn9hzaspx1] { width: 1%; text-align: right; }
.lt-crm-propedit__remover.lt-btn[b-vn9hzaspx1] { min-height: 28px; padding: 2px 8px; font-size: 1rem; color: var(--lt-danger-ink); }
.lt-crm-propedit__sr[b-vn9hzaspx1] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Os campos que NÃO são uma linha do sheet — a caixa de pesquisa e os da grelha — voltam a parecer campos: contorno,
   fundo e o texto do lado certo (o sheet desenha os seus sem contorno e alinhados à direita, como valores de uma
   linha). Seletores com o elemento para ganharem às regras do LtSheet. */
.lt-crm-propedit__procura[b-vn9hzaspx1]  .lt-field { padding: 0; border: 0; background: transparent; }
.lt-crm-propedit__procura[b-vn9hzaspx1]  input.lt-ctl {
    text-align: left; padding: 7px 11px; border: 1px solid var(--lt-line); border-radius: 9px; background: var(--lt-surface);
}
.lt-crm-propedit__procura[b-vn9hzaspx1]  input.lt-ctl:focus { border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-tint); }
.lt-crm-propedit__tabela[b-vn9hzaspx1]  .lt-field { padding: 0; border: 0; background: transparent; }
.lt-crm-propedit__tabela[b-vn9hzaspx1]  input.lt-ctl {
    padding: 4px 8px; border: 1px solid var(--lt-line); border-radius: 7px; background: var(--lt-surface); text-align: right;
}
.lt-crm-propedit__tabela[b-vn9hzaspx1]  input.lt-ctl:focus { border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-tint); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmPropostas.razor.rz.scp.css */
/* Propostas e encomendas do CRM (O6 / F5.3). Bloco próprio `lt-crm-prop` — no ficheiro DESTE componente. O aspeto do
   mockup: mosaicos de números e dois painéis (as propostas e as encomendas que geraram), tabelas com avatar e pills. */

.lt-crm-prop__novo[b-gyxkpklfy7] { gap: .35rem; }
.lt-crm-prop__msg[b-gyxkpklfy7] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-prop__corpo[b-gyxkpklfy7] { padding: 14px 18px; }
.lt-crm-prop__acoes[b-gyxkpklfy7] { margin: .5rem 0 0; }

/* O resumo em mosaicos (mockup `.stat-row`). Realce = estado acionável: há aceites à espera de conversão. */
.lt-crm-prop__resumo[b-gyxkpklfy7] { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 12px; margin: 0 0 14px; }
.lt-crm-prop__num[b-gyxkpklfy7] {
    padding: 14px 16px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-prop__num.is-aviso[b-gyxkpklfy7] { background: var(--lt-warning-tint); border-color: color-mix(in srgb, var(--lt-warning) 40%, var(--lt-line)); }
.lt-crm-prop__num dt[b-gyxkpklfy7] { font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-prop__num dd[b-gyxkpklfy7] { margin: 6px 0 0; font-size: 1.5rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-prop__num dd.lt-crm-prop__numdica[b-gyxkpklfy7] { margin-top: 4px; font-size: .78rem; font-weight: 500; letter-spacing: 0; color: var(--lt-muted); }

/* Os painéis (mockup `.panel` / `.panel-head`). */
.lt-crm-prop__cartao[b-gyxkpklfy7] {
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-prop__cabeca[b-gyxkpklfy7] { padding: 14px 18px 4px; }
.lt-crm-prop__h2[b-gyxkpklfy7] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-prop__sub[b-gyxkpklfy7] { margin: 3px 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-prop__topo[b-gyxkpklfy7] {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem;
    padding: 8px 18px 10px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-prop__filtros[b-gyxkpklfy7] { display: flex; flex-wrap: wrap; gap: .4rem; }
.lt-crm-prop__filtro[b-gyxkpklfy7] {
    padding: .35rem .8rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: var(--lt-ink-2); font: inherit; font-size: .82rem; cursor: pointer;
    transition: background .12s ease, border-color .12s ease;
}
.lt-crm-prop__filtro:hover[b-gyxkpklfy7] { border-color: var(--lt-brand); }
.lt-crm-prop__filtro:focus-visible[b-gyxkpklfy7] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-prop__filtro.is-on[b-gyxkpklfy7] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-ink); }

/* A tabela como no mockup: micro-cabeçalhos, linhas de 11×18 px, hover suave. */
.lt-crm-prop__rolo[b-gyxkpklfy7] { overflow-x: auto; }
.lt-crm-prop__tabela[b-gyxkpklfy7] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-prop__tabela thead th[b-gyxkpklfy7] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-prop__tabela tbody th[b-gyxkpklfy7], .lt-crm-prop__tabela td[b-gyxkpklfy7] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-prop__tabela tbody tr:last-child > *[b-gyxkpklfy7] { border-bottom: 0; }
.lt-crm-prop__tabela tbody tr:hover > *[b-gyxkpklfy7] { background: var(--lt-surface-2); }
.lt-crm-prop__tabela .is-num[b-gyxkpklfy7] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-prop__titulo.lt-btn[b-gyxkpklfy7] { padding: 0; min-height: 0; font-weight: 600; text-align: left; }
.lt-crm-prop__linhas[b-gyxkpklfy7] { display: block; margin-top: 2px; font-size: .74rem; color: var(--lt-muted); }
.lt-crm-prop__pessoa[b-gyxkpklfy7] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-prop__nome[b-gyxkpklfy7] { font-weight: 600; color: var(--lt-ink); }
a.lt-crm-prop__nome[b-gyxkpklfy7] { text-decoration: none; }
a.lt-crm-prop__nome:hover[b-gyxkpklfy7] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-prop__validade[b-gyxkpklfy7] { white-space: nowrap; color: var(--lt-ink-2); }
/* Só a validade ultrapassada de uma proposta à espera fica vermelha — e com texto (a cor nunca é a única pista). */
.lt-crm-prop__validade.is-expirada[b-gyxkpklfy7] { color: var(--lt-danger-ink); font-weight: 600; }
.lt-crm-prop__tag[b-gyxkpklfy7] { margin-left: .4rem; font-size: .72rem; }
.lt-crm-prop__encn[b-gyxkpklfy7] { font-weight: 600; color: var(--lt-ink); font-variant-numeric: tabular-nums; }
.lt-crm-prop__produtos[b-gyxkpklfy7] { max-width: 22rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lt-ink-2); }
.lt-crm-prop__encestado[b-gyxkpklfy7] { margin-left: .4rem; font-size: .74rem; color: var(--lt-muted); }

/* As ações da linha (mockup `btn-ghost btn-sm`); converter a verde (é o passo que fecha o ciclo). */
.lt-crm-prop__accoes[b-gyxkpklfy7] { text-align: right; white-space: nowrap; }
.lt-crm-prop__accao.lt-btn[b-gyxkpklfy7] {
    min-height: 30px; padding: 5px 10px; font-size: .78rem; font-weight: 600;
    border-color: transparent; background: var(--lt-neutro-tint);
}
.lt-crm-prop__accao.lt-btn:hover:not(:disabled)[b-gyxkpklfy7] { background: var(--lt-line); }
.lt-crm-prop__converter.lt-btn[b-gyxkpklfy7] { color: var(--lt-success-ink); background: var(--lt-success-tint); }
.lt-crm-prop__converter.lt-btn:hover:not(:disabled)[b-gyxkpklfy7] { background: color-mix(in srgb, var(--lt-success) 22%, var(--lt-surface)); }
.lt-crm-prop__ligacao.lt-btn[b-gyxkpklfy7] { min-height: 30px; padding: 5px 6px; font-size: .78rem; }
.lt-crm-prop__recusar.lt-btn[b-gyxkpklfy7] { color: var(--lt-danger-ink); }

/* A proposta acabada de criar ou de mexer pisca uma vez (mockup `hl-new`, 1,6 s). */
.lt-crm-prop__tabela tr.is-novo > *[b-gyxkpklfy7] { animation: lt-crm-prop-novo-b-gyxkpklfy7 1.6s ease-out; }
@keyframes lt-crm-prop-novo-b-gyxkpklfy7 { 0% { background: var(--lt-brand-tint); } 70% { background: var(--lt-brand-tint); } 100% { background: transparent; } }
@media (prefers-reduced-motion: reduce) { .lt-crm-prop__tabela tr.is-novo > *[b-gyxkpklfy7] { animation: none; background: var(--lt-brand-tint); } }

.lt-crm-prop__vazio[b-gyxkpklfy7] { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding: 1.5rem 1rem; text-align: center; }
.lt-crm-prop__vaziotitulo[b-gyxkpklfy7] { margin: 0; font-weight: 600; color: var(--lt-ink-2); }
.lt-crm-prop__vaziodica[b-gyxkpklfy7] { margin: 0; font-size: .82rem; color: var(--lt-muted); }
.lt-crm-prop__sr[b-gyxkpklfy7] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmRisco.razor.rz.scp.css */
/* Painel do risco de abandono do CRM (F3.3). Bloco próprio `lt-crm-risco` (UI-CONVENTIONS §2) — no
   ficheiro DESTE componente: o CSS scoped só se aplica ao markup do próprio (lição do lt-crm-casos).
   2026-09-25 (objetivo O1): o aspeto das tabelas do mockup do CRM. */

.lt-crm-risco__cartao[b-sjlc4fgmod] {
    overflow: hidden;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-lg);
    box-shadow: var(--lt-shadow-card);
}
.lt-crm-risco__topo[b-sjlc4fgmod] {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1.25rem;
    padding: 12px 18px 10px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-risco__nota[b-sjlc4fgmod] { margin: 0; padding: 10px 18px; font-size: .8rem; line-height: 1.5; color: var(--lt-muted); background: var(--lt-surface-2); border-bottom: 1px solid var(--lt-line); }
.lt-crm-risco__corpo[b-sjlc4fgmod] { padding: 14px 18px; }
.lt-crm-risco__msg[b-sjlc4fgmod] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }

/* Os patamares são filtros: ligado = preenchido. Dizem a contagem e o intervalo de dias que usam. */
.lt-crm-risco__patamares[b-sjlc4fgmod] { display: flex; flex-wrap: wrap; gap: .4rem; margin-left: auto; }
.lt-crm-risco__patamar[b-sjlc4fgmod] {
    display: inline-flex; align-items: baseline; gap: .35rem;
    padding: .35rem .75rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: var(--lt-ink-2); font: inherit; font-size: .82rem; cursor: pointer;
    transition: background .12s ease, border-color .12s ease;
}
.lt-crm-risco__patamar:hover[b-sjlc4fgmod] { border-color: var(--lt-brand); }
.lt-crm-risco__patamar:focus-visible[b-sjlc4fgmod] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-risco__patamar.is-on[b-sjlc4fgmod] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-ink); }
.lt-crm-risco__conta[b-sjlc4fgmod] { font-weight: 700; }
.lt-crm-risco__limite[b-sjlc4fgmod] { font-size: .72rem; color: var(--lt-muted); }

/* A tabela como no mockup: micro-cabeçalhos, linhas de 11×18 px, hover suave. */
.lt-crm-risco__rolo[b-sjlc4fgmod] { overflow-x: auto; }
.lt-crm-risco__tabela[b-sjlc4fgmod] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-risco__tabela thead th[b-sjlc4fgmod] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
/* O cabeçalho da linha (th scope=row, o campo principal) tem o aspeto de uma célula (SLDS Data Table). */
.lt-crm-risco__tabela tbody th[b-sjlc4fgmod],
.lt-crm-risco__tabela td[b-sjlc4fgmod] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle;
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-risco__tabela tbody tr:last-child > *[b-sjlc4fgmod] { border-bottom: 0; }
.lt-crm-risco__tabela tbody tr:hover > *[b-sjlc4fgmod] { background: var(--lt-surface-2); }
.lt-crm-risco__tabela .is-num[b-sjlc4fgmod] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* A pessoa: avatar, o nome e, por baixo, as etiquetas (mockup `.name-cell`). */
.lt-crm-risco__pessoa[b-sjlc4fgmod] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-risco__quem[b-sjlc4fgmod] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lt-crm-risco__nome[b-sjlc4fgmod] { font-weight: 600; color: var(--lt-ink); }
a.lt-crm-risco__nome[b-sjlc4fgmod] { text-decoration: none; }
a.lt-crm-risco__nome:hover[b-sjlc4fgmod] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-risco__etiquetas[b-sjlc4fgmod] { display: flex; flex-wrap: wrap; gap: 4px; }
.lt-crm-risco__etiquetas:empty[b-sjlc4fgmod] { display: none; }
.lt-crm-risco__ha[b-sjlc4fgmod] { display: block; font-size: .74rem; color: var(--lt-muted); }

/* A saída de um erro: tentar outra vez (SLDS e o guia de UX: uma mensagem de erro traz o passo seguinte). */
.lt-crm-risco__acoes[b-sjlc4fgmod] { margin: .5rem 0 0; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmSegmentoCanal.razor.rz.scp.css */
/* A divisão de um segmento por canal (O2.2). Bloco próprio `lt-crm-segcanal`. A barra só ilustra (aria-hidden): cada parte
   diz-se em texto com o número. As cores: as contactáveis a verde (com prova) e a âmbar (sem prova — o que pede ação:
   recolher a prova); as que ficam de fora a cinzento, e a oposição a vermelho (nunca se contacta). */

.lt-crm-segcanal[b-xxeyrbhulv] { display: flex; flex-direction: column; gap: 8px; }
.lt-crm-segcanal__topo[b-xxeyrbhulv] { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.lt-crm-segcanal__titulo[b-xxeyrbhulv] { margin: 0; font-size: .86rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-segcanal__contactaveis[b-xxeyrbhulv] { font-size: .86rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-ink); }

.lt-crm-segcanal__barra[b-xxeyrbhulv] {
    display: flex; height: 10px; overflow: hidden;
    background: var(--lt-neutro-tint); border-radius: 99px;
}
.lt-crm-segcanal__barra .lt-crm-segcanal__parte[b-xxeyrbhulv] { flex: none; width: calc(var(--f, 0) * 100%); min-width: 2px; }

.lt-crm-segcanal__parte--prova[b-xxeyrbhulv]       { background: var(--lt-success); }
.lt-crm-segcanal__parte--semprova[b-xxeyrbhulv]    { background: var(--lt-warning); }
.lt-crm-segcanal__parte--semconsent[b-xxeyrbhulv]  { background: var(--lt-muted); }
.lt-crm-segcanal__parte--oposicao[b-xxeyrbhulv]    { background: var(--lt-danger); }
.lt-crm-segcanal__parte--menores[b-xxeyrbhulv]     { background: var(--lt-acc-violeta); }
.lt-crm-segcanal__parte--semcontacto[b-xxeyrbhulv] { background: var(--lt-line); }

.lt-crm-segcanal__lista[b-xxeyrbhulv] { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.lt-crm-segcanal__linha[b-xxeyrbhulv] { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 2px 0; font-size: .8rem; }
.lt-crm-segcanal__linha dt[b-xxeyrbhulv] { display: inline-flex; align-items: center; gap: 7px; color: var(--lt-ink-2); }
.lt-crm-segcanal__linha dd[b-xxeyrbhulv] { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--lt-ink); }
.lt-crm-segcanal__linha.is-zero dt[b-xxeyrbhulv], .lt-crm-segcanal__linha.is-zero dd[b-xxeyrbhulv] { color: var(--lt-muted); font-weight: 400; }
.lt-crm-segcanal__cor[b-xxeyrbhulv] { flex: none; width: 9px; height: 9px; border-radius: 3px; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmSegmentoEditor.razor.rz.scp.css */
/* O editor de um segmento (O2.2). Bloco próprio `lt-crm-segedit`. Duas colunas — a definição e, à direita e sempre à vista,
   as contagens (o painel de tamanho da HubSpot/D365) —, que passam a uma quando o espaço da área não chega (consulta de
   contentor, como no registo de acessos). Os grupos de «Excluir» têm o filete vermelho: tiram pessoas, e ganham sempre. */

.lt-crm-segedit[b-bn3xubh9ii] { container-type: inline-size; }

/* A saída para a lista é um botão da casa (`lt-btn`), sem estilo próprio: só a distância ao título. */
.lt-crm-segedit__voltar[b-bn3xubh9ii] { margin: 0 0 .7rem; }

.lt-crm-segedit__grelha[b-bn3xubh9ii] { display: grid; grid-template-columns: minmax(0, 1fr) 21rem; gap: 14px; align-items: start; }
.lt-crm-segedit__principal[b-bn3xubh9ii] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.lt-crm-segedit__lado[b-bn3xubh9ii] { position: sticky; top: 12px; }

.lt-crm-segedit__cartao[b-bn3xubh9ii] {
    padding: 14px 18px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-segedit__cabeca[b-bn3xubh9ii] { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 10px; }
.lt-crm-segedit__h2[b-bn3xubh9ii] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-segedit__sub[b-bn3xubh9ii] { margin: 3px 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-segedit__nota[b-bn3xubh9ii] { margin: 6px 0 0; font-size: .78rem; color: var(--lt-muted); }

/* Identificação: nome e âmbito lado a lado, a descrição por baixo, a toda a largura. */
.lt-crm-segedit__identificacao[b-bn3xubh9ii] { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 8px 14px; align-items: start; }
.lt-crm-segedit__identificacao > .lt-crm-segedit__h2[b-bn3xubh9ii],
.lt-crm-segedit__identificacao > .lt-crm-segedit__nota[b-bn3xubh9ii],
.lt-crm-segedit__identificacao > .lt-crm-segedit__ler[b-bn3xubh9ii] { grid-column: 1 / -1; }
.lt-crm-segedit__identificacao[b-bn3xubh9ii]  .lt-field { margin: 0; }
.lt-crm-segedit__identificacao[b-bn3xubh9ii]  .lt-field:has(textarea) { grid-column: 1 / -1; }
.lt-crm-segedit__ambito.lt-field[b-bn3xubh9ii] { margin: 0; }
.lt-crm-segedit__ler[b-bn3xubh9ii] { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 8px 14px; margin: 0; }
.lt-crm-segedit__ler dt[b-bn3xubh9ii] { font-size: .74rem; font-weight: 600; color: var(--lt-muted); }
.lt-crm-segedit__ler dd[b-bn3xubh9ii] { margin: 2px 0 0; font-size: .88rem; color: var(--lt-ink); overflow-wrap: anywhere; }

/* Os grupos e as condições. */
.lt-crm-segedit__corpo[b-bn3xubh9ii] { display: flex; flex-direction: column; }
.lt-crm-segedit__grupo[b-bn3xubh9ii] { padding: 8px 12px 10px; background: var(--lt-surface-2); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); }
.lt-crm-segedit__bloco--excluir .lt-crm-segedit__grupo[b-bn3xubh9ii] { border-left: 3px solid var(--lt-danger); }
.lt-crm-segedit__gtopo[b-bn3xubh9ii] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-height: 30px; }
.lt-crm-segedit__gtitulo[b-bn3xubh9ii] { margin: 0; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-segedit__gconta[b-bn3xubh9ii] { font-size: .78rem; font-variant-numeric: tabular-nums; color: var(--lt-ink-2); }
.lt-crm-segedit__retirargrupo.lt-btn[b-bn3xubh9ii] { margin-left: auto; min-height: 28px; padding: 3px 6px; font-size: .78rem; }

.lt-crm-segedit__ou[b-bn3xubh9ii] { display: flex; align-items: center; gap: 10px; margin: 8px 0; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-segedit__ou[b-bn3xubh9ii]::before, .lt-crm-segedit__ou[b-bn3xubh9ii]::after { content: ""; flex: 1 1 auto; border-top: 1px dashed var(--lt-line); }

.lt-crm-segedit__condicoes[b-bn3xubh9ii] { margin: 0; padding: 0; list-style: none; }
.lt-crm-segedit__condicao[b-bn3xubh9ii] {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center;
    padding: 7px 0; border-top: 1px solid var(--lt-line);
}
.lt-crm-segedit__condicao:first-child[b-bn3xubh9ii] { border-top: 0; }
.lt-crm-segedit__e[b-bn3xubh9ii] { grid-column: 1 / -1; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-segedit__campos[b-bn3xubh9ii] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; min-width: 0; }
.lt-crm-segedit__campos[b-bn3xubh9ii]  .lt-field { margin: 0; }
.lt-crm-segedit__criterio[b-bn3xubh9ii] { flex: 0 1 15rem; min-width: 12rem; }
.lt-crm-segedit__operador[b-bn3xubh9ii] { flex: 0 1 10rem; min-width: 8rem; }
.lt-crm-segedit__valor[b-bn3xubh9ii] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.lt-crm-segedit__condicao[data-criterio="rfm"] .lt-crm-segedit__valor[b-bn3xubh9ii] { flex-basis: 100%; }
.lt-crm-segedit__numero[b-bn3xubh9ii] { width: 7.5rem; }
.lt-crm-segedit__segmento[b-bn3xubh9ii] { min-width: 14rem; }
.lt-crm-segedit__entre[b-bn3xubh9ii], .lt-crm-segedit__unidade[b-bn3xubh9ii] { font-size: .84rem; color: var(--lt-ink-2); }
.lt-crm-segedit__cfim[b-bn3xubh9ii] { display: flex; align-items: center; gap: 6px; align-self: start; min-height: 32px; }
.lt-crm-segedit__conta[b-bn3xubh9ii] {
    padding: 2px 8px; border-radius: 99px; white-space: nowrap;
    font-size: .76rem; font-variant-numeric: tabular-nums; color: var(--lt-ink-2); background: var(--lt-neutro-tint);
}
.lt-crm-segedit__retirar[b-bn3xubh9ii] {
    width: 28px; height: 28px; border: 0; border-radius: 6px; background: transparent; cursor: pointer;
    font-size: 1.2rem; line-height: 1; color: var(--lt-muted);
}
.lt-crm-segedit__retirar:hover[b-bn3xubh9ii] { background: var(--lt-neutro-tint); color: var(--lt-danger); }
.lt-crm-segedit__retirar:focus-visible[b-bn3xubh9ii] { outline: 2px solid var(--lt-brand); outline-offset: 1px; }
.lt-crm-segedit__falta[b-bn3xubh9ii] { grid-column: 1 / -1; margin: 0; font-size: .76rem; color: var(--lt-danger-ink); }

/* Os valores de uma lista (os segmentos RFM): botões que ligam e desligam (aria-pressed). */
.lt-crm-segedit__chips[b-bn3xubh9ii] { display: flex; flex-wrap: wrap; gap: 6px; }
.lt-crm-segedit__chip[b-bn3xubh9ii] {
    padding: 4px 11px; border: 1px solid var(--lt-line); border-radius: 99px; background: var(--lt-surface); cursor: pointer;
    font: inherit; font-size: .78rem; color: var(--lt-ink-2);
}
.lt-crm-segedit__chip:hover:not(:disabled)[b-bn3xubh9ii] { border-color: var(--lt-brand); }
.lt-crm-segedit__chip.is-on[b-bn3xubh9ii] { border-color: var(--lt-brand); background: var(--lt-brand-tint); color: var(--lt-brand-700); font-weight: 600; }
.lt-crm-segedit__chip:disabled[b-bn3xubh9ii] { cursor: default; }
.lt-crm-segedit__chip:disabled:not(.is-on)[b-bn3xubh9ii] { opacity: .55; }
.lt-crm-segedit__chip:focus-visible[b-bn3xubh9ii] { outline: 2px solid var(--lt-brand); outline-offset: 1px; }

/* «+ Adicionar condição»: o catálogo abre por baixo, no fluxo da página (nada fica cortado por um cartão). */
.lt-crm-segedit__adicionar[b-bn3xubh9ii] { margin-top: 6px; }
.lt-crm-segedit__mais.lt-btn[b-bn3xubh9ii] { gap: .3rem; min-height: 30px; padding: 4px 6px; font-size: .82rem; }
.lt-crm-segedit__menu[b-bn3xubh9ii] { margin-top: 4px; padding: 6px 8px 4px; background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); box-shadow: var(--lt-shadow-card); }
.lt-crm-segedit__mgrupo[b-bn3xubh9ii] { margin: 6px 4px 2px; font-size: .66rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--lt-muted); }
.lt-crm-segedit__mlista[b-bn3xubh9ii] { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 2px 6px; margin: 0; padding: 0; list-style: none; }
.lt-crm-segedit__mitem[b-bn3xubh9ii] {
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px; width: 100%;
    padding: 6px 9px; border: 1px solid transparent; border-radius: 6px; background: transparent; cursor: pointer; text-align: left; font: inherit;
}
.lt-crm-segedit__mitem:hover:not(:disabled)[b-bn3xubh9ii] { background: var(--lt-brand-tint); border-color: var(--lt-brand-tint); }
.lt-crm-segedit__mitem:focus-visible[b-bn3xubh9ii] { outline: 2px solid var(--lt-brand); outline-offset: 0; }
.lt-crm-segedit__mitem:disabled[b-bn3xubh9ii] { cursor: default; opacity: .6; }
.lt-crm-segedit__mnome[b-bn3xubh9ii] { font-size: .84rem; font-weight: 600; color: var(--lt-ink); }
.lt-crm-segedit__mdesc[b-bn3xubh9ii] { font-size: .74rem; color: var(--lt-muted); }
.lt-crm-segedit__mfim[b-bn3xubh9ii] { margin: 4px 0 0; text-align: right; }
.lt-crm-segedit__mfim .lt-btn[b-bn3xubh9ii] { min-height: 28px; padding: 3px 6px; font-size: .78rem; }

/* O painel das contagens. */
.lt-crm-segedit__total[b-bn3xubh9ii] { margin: 6px 0 0; font-size: 2rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-segedit__de[b-bn3xubh9ii] { margin: 2px 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-segedit__canais[b-bn3xubh9ii] { display: flex; flex-direction: column; gap: 14px; margin: 12px 0 4px; padding: 12px 0; border-top: 1px solid var(--lt-line); border-bottom: 1px solid var(--lt-line); }
.lt-crm-segedit__acalcular[b-bn3xubh9ii] { margin: 8px 0 0; font-size: .78rem; color: var(--lt-muted); }
.lt-crm-segedit__erros[b-bn3xubh9ii] { margin: 4px 0 0; padding-left: 1.1rem; }
.lt-crm-segedit__total.is-desatualizada[b-bn3xubh9ii], .lt-crm-segedit__canais.is-desatualizada[b-bn3xubh9ii] { opacity: .45; transition: opacity .2s ease; }

/* A amostra de pessoas (a tabela dos outros ecrãs do CRM). */
.lt-crm-segedit__mostrar.lt-btn[b-bn3xubh9ii] { min-height: 32px; }
.lt-crm-segedit__rolo[b-bn3xubh9ii] { overflow-x: auto; margin-top: 8px; }
.lt-crm-segedit__tabela[b-bn3xubh9ii] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-segedit__tabela thead th[b-bn3xubh9ii] {
    padding: 9px 12px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-segedit__tabela tbody th[b-bn3xubh9ii], .lt-crm-segedit__tabela td[b-bn3xubh9ii] { padding: 9px 12px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line); }
.lt-crm-segedit__tabela tbody tr:last-child > *[b-bn3xubh9ii] { border-bottom: 0; }
.lt-crm-segedit__tabela .is-num[b-bn3xubh9ii] { text-align: right; font-variant-numeric: tabular-nums; }
.lt-crm-segedit__pessoa[b-bn3xubh9ii] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-segedit__nome[b-bn3xubh9ii] { font-weight: 600; color: var(--lt-ink); text-decoration: none; }
a.lt-crm-segedit__nome:hover[b-bn3xubh9ii] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-segedit__ha[b-bn3xubh9ii] { display: block; margin-top: 2px; font-size: .74rem; color: var(--lt-muted); }

/* Uma coluna quando a área não chega. NO FIM do ficheiro de propósito: com a mesma especificidade ganha a última regra, e
   antes daqui a base das contagens (em coluna) desfazia a linha dos canais — visto na pré-visualização, 2026-09-30. */
@container (max-width: 62rem) {
    .lt-crm-segedit__grelha[b-bn3xubh9ii] { grid-template-columns: minmax(0, 1fr); }
    .lt-crm-segedit__lado[b-bn3xubh9ii] { position: static; order: -1; }
    /* O painel passa a ter a largura toda: SMS e Email lado a lado, para não empurrar a definição para longe. */
    .lt-crm-segedit__canais[b-bn3xubh9ii] { flex-direction: row; flex-wrap: wrap; gap: 14px 28px; }
    .lt-crm-segedit__canais[b-bn3xubh9ii]  .lt-crm-segcanal { flex: 1 1 16rem; }
}

@media (prefers-reduced-motion: reduce) {
    .lt-crm-segedit__total.is-desatualizada[b-bn3xubh9ii], .lt-crm-segedit__canais.is-desatualizada[b-bn3xubh9ii] { transition: none; }
}
/* _content/Logitools.Client.Shared/Components/Crm/CrmSegmentos.razor.rz.scp.css */
/* Segmentos guardados do CRM (O2.2) — a lista. Bloco próprio `lt-crm-seg`. A tabela dos outros ecrãs do CRM (micro-
   cabeçalhos, linhas de 11×18 px); as pessoas a negrito e o resto normal — o número que se procura primeiro, sem cores
   (realce só para o que pede ação: «A rever»). */

.lt-crm-seg__novo[b-w1zhrpnejs] { gap: .35rem; text-decoration: none; }
.lt-crm-seg__acoes .lt-btn[b-w1zhrpnejs] { text-decoration: none; }
.lt-crm-seg__msg[b-w1zhrpnejs] { margin: 0; padding: 1.5rem 18px; color: var(--lt-muted); text-align: center; }
.lt-crm-seg__corpo[b-w1zhrpnejs] { padding: 14px 18px; }
.lt-crm-seg__acoes[b-w1zhrpnejs] { margin: .5rem 0 0; }

.lt-crm-seg__cartao[b-w1zhrpnejs] {
    overflow: hidden; margin: 0 0 14px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-seg__cabeca[b-w1zhrpnejs] {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .5rem 1rem;
    padding: 14px 18px 10px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-seg__h2[b-w1zhrpnejs] { margin: 0; font-size: 1rem; font-weight: 700; color: var(--lt-ink); }
.lt-crm-seg__sub[b-w1zhrpnejs] { margin: 3px 0 0; max-width: 60rem; font-size: .8rem; color: var(--lt-muted); }
.lt-crm-seg__nota[b-w1zhrpnejs] { margin: 0; padding: 8px 18px; font-size: .8rem; color: var(--lt-muted); border-bottom: 1px solid var(--lt-line); }
.lt-crm-seg__recontar.lt-btn[b-w1zhrpnejs] { min-height: 26px; padding: 2px 6px; font-size: .8rem; }

.lt-crm-seg__vazio[b-w1zhrpnejs] { padding: 1.4rem 18px; text-align: center; }
.lt-crm-seg__vaziotitulo[b-w1zhrpnejs] { margin: 0; font-weight: 600; color: var(--lt-ink); }
.lt-crm-seg__vaziodica[b-w1zhrpnejs] { margin: .3rem auto 0; max-width: 40rem; font-size: .85rem; color: var(--lt-muted); }

.lt-crm-seg__rolo[b-w1zhrpnejs] { overflow-x: auto; }
.lt-crm-seg__tabela[b-w1zhrpnejs] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-seg__tabela thead th[b-w1zhrpnejs] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-seg__tabela tbody th[b-w1zhrpnejs], .lt-crm-seg__tabela td[b-w1zhrpnejs] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-seg__tabela thead tr:first-child th[rowspan][b-w1zhrpnejs] { vertical-align: bottom; }
.lt-crm-seg__tabela thead th.lt-crm-seg__grupocol[b-w1zhrpnejs] { padding-bottom: 2px; text-align: center; border-bottom: 0; }
.lt-crm-seg__tabela thead tr + tr th[b-w1zhrpnejs] { padding-top: 2px; }
.lt-crm-seg__tabela .is-num[b-w1zhrpnejs] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-seg__tabela tbody th[b-w1zhrpnejs] { min-width: 15rem; }
.lt-crm-seg__curto[b-w1zhrpnejs] { white-space: nowrap; }
.lt-crm-seg__tabela tbody tr:last-child > *[b-w1zhrpnejs] { border-bottom: 0; }
.lt-crm-seg__tabela tbody tr:hover > *[b-w1zhrpnejs] { background: var(--lt-surface-2); }
.lt-crm-seg__tabela tr.is-arquivado > *[b-w1zhrpnejs] { color: var(--lt-muted); }

.lt-crm-seg__nome[b-w1zhrpnejs] { font-weight: 600; color: var(--lt-ink); text-decoration: none; }
.lt-crm-seg__nome:hover[b-w1zhrpnejs] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-seg__desc[b-w1zhrpnejs] { display: block; max-width: 34rem; margin-top: 2px; font-size: .78rem; color: var(--lt-muted); overflow-wrap: break-word; }
.lt-crm-seg__pessoas[b-w1zhrpnejs] { font-weight: 700; color: var(--lt-ink); }
.lt-crm-seg__semnum[b-w1zhrpnejs] { color: var(--lt-muted); }
.lt-crm-seg__data[b-w1zhrpnejs] { white-space: nowrap; color: var(--lt-ink-2); font-variant-numeric: tabular-nums; }
.lt-crm-seg__quem[b-w1zhrpnejs] { display: block; margin-top: 2px; font-size: .74rem; color: var(--lt-muted); }

/* O segmento acabado de gravar pisca na lista (como nos casos e nos inquéritos). */
.lt-crm-seg__tabela tr.is-novo > *[b-w1zhrpnejs] { animation: lt-crm-seg-novo-b-w1zhrpnejs 1.6s ease-out 1; }
@keyframes lt-crm-seg-novo-b-w1zhrpnejs { from { background: var(--lt-brand-tint); } to { background: transparent; } }

@media (prefers-reduced-motion: reduce) {
    .lt-crm-seg__tabela tr.is-novo > *[b-w1zhrpnejs] { animation: none; }
}
/* _content/Logitools.Client.Shared/Components/Crm/CrmValeAnular.razor.rz.scp.css */
/* «Anular o vale»: as linhas seguem as dos campos do LtSheet (11×14 px, separador por baixo). */
.lt-crm-valeanular__linhas[b-vpyd58cjt7] { margin: 0; }
.lt-crm-valeanular__linhas > div[b-vpyd58cjt7] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 11px 14px; border-bottom: 1px solid var(--lt-line);
}
.lt-crm-valeanular__linhas dt[b-vpyd58cjt7] { font-size: .83rem; font-weight: 400; color: var(--lt-ink); }
.lt-crm-valeanular__linhas dd[b-vpyd58cjt7] { margin: 0; font-size: .83rem; color: var(--lt-ink); text-align: right; }
.lt-crm-valeanular__linhas dd.is-num[b-vpyd58cjt7] { font-variant-numeric: tabular-nums; }
.lt-crm-valeanular__nota[b-vpyd58cjt7] {
    display: flex; align-items: flex-start; gap: 8px; margin: 0;
    padding: 10px 14px; border-bottom: 1px solid var(--lt-line); font-size: .8rem; color: var(--lt-muted);
}
.lt-crm-valeanular__nota.is-aviso[b-vpyd58cjt7] { color: var(--lt-warning-ink); background: var(--lt-warning-tint); }
/* _content/Logitools.Client.Shared/Components/Crm/CrmVales.razor.rz.scp.css */
/* Painel dos vales do CRM (F2.2). Bloco próprio `lt-crm-vales` — no ficheiro DESTE componente.
   2026-09-25 (objetivo O1): o aspeto do mockup do CRM — a lista num cartão, estados em pill, pessoa com avatar. */

.lt-crm-vales__cartao[b-tplsakol2f] {
    overflow: hidden;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-vales__topo[b-tplsakol2f] {
    display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1rem;
    padding: 12px 18px; border-bottom: 1px solid var(--lt-line);
}
/* A caixa de pesquisa com largura para o texto de exemplo se ler inteiro (cortado, deixava de servir de exemplo). */
.lt-crm-vales__topo[b-tplsakol2f]  .lt-field { flex: 1 1 20rem; max-width: 28rem; }
.lt-crm-vales__corpo[b-tplsakol2f] { padding: 14px 18px; }
.lt-crm-vales__msg[b-tplsakol2f] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }
.lt-crm-vales__nota[b-tplsakol2f] { margin: 0; padding: 10px 18px; font-size: .8rem; color: var(--lt-muted); border-bottom: 1px solid var(--lt-line); }

/* Os estados são filtros: ligado = preenchido, com a contagem. */
.lt-crm-vales__estados[b-tplsakol2f] { display: flex; flex-wrap: wrap; gap: .4rem; margin-left: auto; }
.lt-crm-vales__filtro[b-tplsakol2f] {
    display: inline-flex; align-items: baseline; gap: .35rem;
    padding: .35rem .75rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: var(--lt-ink-2); font: inherit; font-size: .82rem; cursor: pointer;
    transition: background .12s ease, border-color .12s ease;
}
.lt-crm-vales__filtro:hover[b-tplsakol2f] { border-color: var(--lt-brand); }
.lt-crm-vales__filtro:focus-visible[b-tplsakol2f] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-vales__filtro.is-on[b-tplsakol2f] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-ink); }
.lt-crm-vales__conta[b-tplsakol2f] { font-weight: 700; }

/* A tabela como no mockup: micro-cabeçalhos, linhas de 11×18 px, hover suave. */
.lt-crm-vales__rolo[b-tplsakol2f] { overflow-x: auto; }
.lt-crm-vales__tabela[b-tplsakol2f] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-vales__tabela thead th[b-tplsakol2f] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
/* O cabeçalho da linha (th scope=row, o campo principal) tem o aspeto de uma célula (SLDS Data Table). */
.lt-crm-vales__tabela tbody th[b-tplsakol2f],
.lt-crm-vales__tabela td[b-tplsakol2f] {
    padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle;
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-vales__tabela tbody tr:last-child > *[b-tplsakol2f] { border-bottom: 0; }
.lt-crm-vales__tabela tbody tr:hover > *[b-tplsakol2f] { background: var(--lt-surface-2); }
.lt-crm-vales__tabela .is-num[b-tplsakol2f] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-crm-vales__ref[b-tplsakol2f] { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-ink); }
.lt-crm-vales__quando[b-tplsakol2f] { display: block; margin-top: 3px; font-size: .72rem; color: var(--lt-muted); }
.lt-crm-vales__cartao-n[b-tplsakol2f] { font-variant-numeric: tabular-nums; color: var(--lt-ink-2); }

.lt-crm-vales__pessoa[b-tplsakol2f] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-vales__quem[b-tplsakol2f] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lt-crm-vales__nome[b-tplsakol2f] { font-weight: 600; color: var(--lt-ink); }
a.lt-crm-vales__nome[b-tplsakol2f] { text-decoration: none; }
a.lt-crm-vales__nome:hover[b-tplsakol2f] { color: var(--lt-brand-700); text-decoration: underline; }
.lt-crm-vales__semnome[b-tplsakol2f] { color: var(--lt-muted); }

/* A saída de um erro: tentar outra vez (SLDS e o guia de UX: uma mensagem de erro traz o passo seguinte). */
.lt-crm-vales__acoes[b-tplsakol2f] { margin: .5rem 0 0; }

/* A ação da linha (anular), encostada à direita. */
.lt-crm-vales__acoes[b-tplsakol2f] { text-align: right; white-space: nowrap; }
/* _content/Logitools.Client.Shared/Components/Crm/CrmVisitas.razor.rz.scp.css */
/* Visitas de delegados (objetivo O6). Bloco próprio `lt-crm-visitas`; o aspeto do mockup do CRM. */
.lt-crm-visitas__novo[b-fejqjap0jy] { gap: .35rem; }
.lt-crm-visitas__cartao[b-fejqjap0jy] {
    overflow: hidden;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg); box-shadow: var(--lt-shadow-card);
}
.lt-crm-visitas__topo[b-fejqjap0jy] { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding: 12px 18px; border-bottom: 1px solid var(--lt-line); }
.lt-crm-visitas__filtros[b-fejqjap0jy] { display: flex; flex-wrap: wrap; gap: .4rem; }
.lt-crm-visitas__filtro[b-fejqjap0jy] {
    padding: .35rem .75rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: var(--lt-ink-2); font: inherit; font-size: .82rem; cursor: pointer;
}
.lt-crm-visitas__filtro:hover[b-fejqjap0jy] { border-color: var(--lt-brand); }
.lt-crm-visitas__filtro:focus-visible[b-fejqjap0jy] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-crm-visitas__filtro.is-on[b-fejqjap0jy] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-ink); }
.lt-crm-visitas__corpo[b-fejqjap0jy] { padding: 14px 18px; }
.lt-crm-visitas__msg[b-fejqjap0jy] { margin: 0; padding: 1.75rem .25rem; color: var(--lt-muted); text-align: center; }
.lt-crm-visitas__acoes[b-fejqjap0jy] { margin: .5rem 0 0; }
.lt-crm-visitas__vazio[b-fejqjap0jy] { display: flex; flex-direction: column; align-items: center; gap: .4rem; padding: 2rem 1rem; text-align: center; }
.lt-crm-visitas__vaziotitulo[b-fejqjap0jy] { margin: 0; font-weight: 600; color: var(--lt-ink-2); }
.lt-crm-visitas__vaziodica[b-fejqjap0jy] { margin: 0; font-size: .82rem; color: var(--lt-muted); }
.lt-crm-visitas__sr[b-fejqjap0jy] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.lt-crm-visitas__rolo[b-fejqjap0jy] { overflow-x: auto; }
.lt-crm-visitas__tabela[b-fejqjap0jy] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-crm-visitas__tabela thead th[b-fejqjap0jy] {
    padding: 10px 18px; text-align: left; white-space: nowrap;
    font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--lt-muted);
    border-bottom: 1px solid var(--lt-line);
}
.lt-crm-visitas__tabela tbody th[b-fejqjap0jy],
.lt-crm-visitas__tabela td[b-fejqjap0jy] { padding: 11px 18px; text-align: left; font-weight: 400; vertical-align: middle; border-bottom: 1px solid var(--lt-line); }
.lt-crm-visitas__tabela tbody tr:last-child > *[b-fejqjap0jy] { border-bottom: 0; }
.lt-crm-visitas__tabela tbody tr:hover > *[b-fejqjap0jy] { background: var(--lt-surface-2); }
.lt-crm-visitas__tabela tr.is-novo > *[b-fejqjap0jy] { animation: lt-crm-visitas-novo-b-fejqjap0jy 1.6s ease-out; }
@keyframes lt-crm-visitas-novo-b-fejqjap0jy { 0%, 70% { background: var(--lt-brand-tint); } 100% { background: transparent; } }
@media (prefers-reduced-motion: reduce) { .lt-crm-visitas__tabela tr.is-novo > *[b-fejqjap0jy] { animation: none; background: var(--lt-brand-tint); } }

.lt-crm-visitas__pessoa[b-fejqjap0jy] { display: inline-flex; align-items: center; gap: 10px; }
.lt-crm-visitas__quem[b-fejqjap0jy] { display: flex; flex-direction: column; gap: 2px; }
.lt-crm-visitas__nome[b-fejqjap0jy] { font-weight: 600; color: var(--lt-ink); }
.lt-crm-visitas__sub[b-fejqjap0jy] { font-size: .74rem; color: var(--lt-muted); }
.lt-crm-visitas__quando[b-fejqjap0jy] { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lt-crm-visitas__notas[b-fejqjap0jy] { display: block; margin-top: 3px; font-size: .76rem; color: var(--lt-muted); }
.lt-crm-visitas__accoes[b-fejqjap0jy] { text-align: right; white-space: nowrap; }
.lt-crm-visitas__accao.lt-btn[b-fejqjap0jy] {
    min-height: 30px; padding: 5px 10px; font-size: .78rem; font-weight: 600;
    border-color: transparent; background: var(--lt-neutro-tint);
}
.lt-crm-visitas__accao.lt-btn:hover:not(:disabled)[b-fejqjap0jy] { background: var(--lt-line); }
.lt-crm-visitas__cancelar.lt-btn[b-fejqjap0jy] { min-height: 30px; font-size: .78rem; }
/* _content/Logitools.Client.Shared/Components/Forms/LtConfirm.razor.rz.scp.css */
.lt-confirm__overlay[b-0r5homx079] {
    position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center;
    background: rgba(15, 27, 42, .45);
}
.lt-confirm[b-0r5homx079] {
    background: var(--lt-surface); border-radius: var(--lt-radius); box-shadow: var(--lt-shadow-lg, 0 18px 50px rgba(0,0,0,.3));
    padding: 1.3rem 1.5rem; max-width: 420px; width: calc(100vw - 3rem);
}
.lt-confirm__title[b-0r5homx079] { margin: 0 0 .5rem; font-size: 1rem; color: var(--lt-ink); }
.lt-confirm__msg[b-0r5homx079] { margin: 0 0 1.1rem; font-size: .88rem; color: var(--lt-muted); line-height: 1.45; }
.lt-confirm__actions[b-0r5homx079] { display: flex; justify-content: flex-end; gap: .5rem; }
/* _content/Logitools.Client.Shared/Components/Forms/LtDate.razor.rz.scp.css */
/* A ajuda por baixo da data (a regra antes do erro — p. ex. o início da janela de stock, R13). Fora do mínimo, no tom de
   aviso: é o único realce, e pede ação. Bloco próprio («lt-data»): o CSS isolado nunca usa blocos do tema
   (DesignSystemRatchetTests — o incidente lt-sr). */
.lt-data__ajuda[b-tf5zpangd2] { display: block; margin-top: .2rem; font-size: .76rem; line-height: 1.3; color: var(--lt-muted); }
.lt-data__ajuda.is-fora[b-tf5zpangd2] { color: var(--lt-warning-ink); }
.lt-data__campo[aria-invalid="true"][b-tf5zpangd2] { border-color: var(--lt-warning); }

/* O campo e o botão do calendário dentro dele (à direita, como o do sistema). */
.lt-data[b-tf5zpangd2] { position: relative; display: flex; align-items: center; min-width: 0; }
.lt-data__campo[b-tf5zpangd2] { padding-right: 2.4rem; font-variant-numeric: tabular-nums; letter-spacing: .01em; text-overflow: ellipsis; }
/* O vazio diz o que vale (o Placeholder): com contraste de texto (o do browser não chega a 4,5:1) e em itálico, para não
   se confundir com uma data escrita. */
.lt-data__campo[b-tf5zpangd2]::placeholder { color: var(--lt-placeholder); opacity: 1; font-style: italic; letter-spacing: 0; }
.lt-data__btn[b-tf5zpangd2] {
    position: absolute; right: .3rem; top: 50%; transform: translateY(-50%);
    width: 30px; height: 30px; display: grid; place-items: center; padding: 0;
    border: none; border-radius: 6px; background: transparent; color: var(--lt-muted); cursor: pointer;
}
.lt-data__btn:hover:not(:disabled)[b-tf5zpangd2], .lt-data__btn[aria-expanded="true"][b-tf5zpangd2] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-data__btn:disabled[b-tf5zpangd2] { cursor: default; opacity: .45; }

/* ── O calendário (top layer: o popover). ───────────────────────────────────────────────────────────────────────── */
.lt-cal[b-tf5zpangd2] {
    position: fixed; inset: auto; margin: 0; width: 18.5rem; padding: .7rem .75rem .6rem;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius); background: var(--lt-surface);
    color: var(--lt-ink); font-family: var(--lt-font); box-shadow: var(--lt-shadow-lg);
}
/* Sem a API de popover: absoluto por baixo do campo (fica dentro de quem o tiver com overflow — o melhor possível). */
.lt-cal.lt-cal--sem-popover[b-tf5zpangd2] { position: absolute; top: calc(100% + 4px); left: 0; z-index: 90; }

.lt-cal__cab[b-tf5zpangd2] { display: flex; align-items: center; justify-content: space-between; gap: .4rem; margin-bottom: .45rem; }
.lt-cal__titulo[b-tf5zpangd2] {
    display: inline-flex; align-items: center; gap: .3rem; padding: .3rem .45rem; border: none; border-radius: 8px;
    background: transparent; color: var(--lt-ink); font: inherit; font-size: .98rem; font-weight: 700; cursor: pointer;
}
.lt-cal__titulo:hover:not(:disabled)[b-tf5zpangd2] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-cal__titulo:disabled[b-tf5zpangd2] { cursor: default; }
.lt-cal__seta[b-tf5zpangd2] { font-size: .7rem; color: var(--lt-muted); }
.lt-cal__nav[b-tf5zpangd2] { display: inline-flex; gap: .2rem; }
.lt-cal__passo[b-tf5zpangd2] {
    width: 32px; height: 32px; border: none; border-radius: 8px; background: transparent; color: var(--lt-ink-2);
    font-size: 1.25rem; line-height: 1; cursor: pointer;
}
.lt-cal__passo:hover:not(:disabled)[b-tf5zpangd2] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-cal__passo:disabled[b-tf5zpangd2] { opacity: .3; cursor: default; }

.lt-cal__grelha[b-tf5zpangd2] { width: 100%; border-collapse: collapse; table-layout: fixed; }
.lt-cal__grelha th[b-tf5zpangd2] {
    padding: .2rem 0 .35rem; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: var(--lt-muted); text-align: center;
}
.lt-cal__grelha td[b-tf5zpangd2] { padding: 1px; text-align: center; }
.lt-cal__dia[b-tf5zpangd2] {
    width: 100%; aspect-ratio: 1; max-height: 2.35rem; border: none; border-radius: 999px; background: transparent;
    color: var(--lt-ink); font: inherit; font-size: .86rem; font-variant-numeric: tabular-nums; cursor: pointer;
}
.lt-cal__dia:hover:not(:disabled)[b-tf5zpangd2] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-cal__dia.is-fora[b-tf5zpangd2] { color: var(--lt-muted); opacity: .6; }
.lt-cal__dia.is-hoje[b-tf5zpangd2] { box-shadow: inset 0 0 0 1.5px var(--lt-brand); font-weight: 700; color: var(--lt-brand-700); }
.lt-cal__dia.is-sel[b-tf5zpangd2], .lt-cal__dia.is-sel:hover[b-tf5zpangd2] { background: var(--lt-brand); color: #fff; font-weight: 700; opacity: 1; box-shadow: none; }
.lt-cal__dia:disabled[b-tf5zpangd2] { color: var(--lt-muted); opacity: .3; cursor: not-allowed; text-decoration: line-through; }
.lt-cal__dia:focus-visible[b-tf5zpangd2], .lt-cal__opcao:focus-visible[b-tf5zpangd2], .lt-cal__passo:focus-visible[b-tf5zpangd2], .lt-cal__titulo:focus-visible[b-tf5zpangd2],
.lt-cal__acao:focus-visible[b-tf5zpangd2] { outline: 2px solid var(--lt-brand); outline-offset: 1px; }

/* Meses e anos: 3 colunas, alvos grandes. */
.lt-cal__lista[b-tf5zpangd2] { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; padding: .2rem 0 .3rem; }
.lt-cal__opcao[b-tf5zpangd2] {
    padding: .65rem .2rem; border: none; border-radius: 10px; background: transparent; color: var(--lt-ink);
    font: inherit; font-size: .88rem; cursor: pointer;
}
.lt-cal__opcao:hover:not(:disabled)[b-tf5zpangd2], .lt-cal__opcao.is-foco[b-tf5zpangd2] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-cal__opcao.is-sel[b-tf5zpangd2] { background: var(--lt-brand); color: #fff; font-weight: 700; }
.lt-cal__opcao:disabled[b-tf5zpangd2] { opacity: .3; cursor: not-allowed; }

.lt-cal__pe[b-tf5zpangd2] { display: flex; justify-content: space-between; gap: .5rem; margin-top: .45rem; padding-top: .5rem; border-top: 1px solid var(--lt-surface-2); }
.lt-cal__acao[b-tf5zpangd2] {
    padding: .35rem .7rem; border: 1px solid var(--lt-brand); border-radius: 8px; background: var(--lt-brand-tint);
    color: var(--lt-brand-700); font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer;
}
.lt-cal__acao:hover:not(:disabled)[b-tf5zpangd2] { background: var(--lt-brand); color: #fff; }
.lt-cal__acao:disabled[b-tf5zpangd2] { opacity: .4; cursor: not-allowed; }
.lt-cal__acao--sec[b-tf5zpangd2] { border-color: var(--lt-line); background: transparent; color: var(--lt-ink-2); }
.lt-cal__acao--sec:hover[b-tf5zpangd2] { background: var(--lt-surface-2); color: var(--lt-ink); }
/* _content/Logitools.Client.Shared/Components/Forms/LtDocRelacoes.razor.rz.scp.css */
/* Estilo do bloco de origens e destinos (#67).
   ⚠️ VIVE COM O COMPONENTE, não com a página: o CSS do Blazor é *scoped*, e enquanto o markup
   estava na `ClientesDocumentos` estas regras tinham o scope DELA. Extrair o componente sem
   mover o CSS deixava o bloco sem estilo nenhum nos DOIS ecrãs — o mesmo tipo de defeito
   invisível do incidente `lt-sr`.
   Prefixo verificado contra o theme.css antes de o cunhar. Cada documento é um BOTÃO: navegar
   em cadeia é a operação inteira deste bloco. */
.lt-rel[b-pc5kyk9c9g] { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 1rem; }
.lt-rel__grupo[b-pc5kyk9c9g] { display: flex; flex-direction: column; gap: .35rem; min-width: 18rem; flex: 1 1 18rem; }
.lt-rel__t[b-pc5kyk9c9g] {
    margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .05em;
    text-transform: uppercase; color: var(--lt-muted, #64748b);
}
.lt-rel__doc[b-pc5kyk9c9g] {
    display: grid; grid-template-columns: 1.2rem 1fr; gap: 0 .5rem;
    text-align: left; appearance: none; cursor: pointer;
    padding: .5rem .7rem; border: 1px solid var(--lt-line, #e2e8f0);
    border-radius: var(--lt-radius-sm, 8px); background: var(--lt-surface, #fff); font: inherit;
}
.lt-rel__doc:hover[b-pc5kyk9c9g] { background: var(--lt-surface-2, #f8fafc); border-color: var(--lt-brand, #2563eb); }
.lt-rel__seta[b-pc5kyk9c9g] { grid-row: 1 / span 2; align-self: center; color: var(--lt-brand, #2563eb); font-weight: 700; }
.lt-rel__nome[b-pc5kyk9c9g] { font-weight: 600; color: var(--lt-ink, #0f172a); }
.lt-rel__meta[b-pc5kyk9c9g] { font-size: .78rem; color: var(--lt-muted, #64748b); }
/* _content/Logitools.Client.Shared/Components/Forms/LtEscolha.razor.rz.scp.css */
/* O grupo de rádio do design system. O rádio nativo fica escondido mas focável (o teclado e o leitor de ecrã são os
   dele); o rótulo desenha a opção — em lista, ou lado a lado (segmentado) para escalas. */
.lt-escolha[b-wdiuo80f1u] { border: 0; margin: 0 0 .9rem; padding: 0; min-width: 0; }
.lt-escolha__legenda[b-wdiuo80f1u] { display: block; padding: 0; margin: 0 0 .4rem; font-size: .8rem; font-weight: 600; color: var(--lt-ink-2); }

.lt-escolha__opcoes[b-wdiuo80f1u] { display: flex; flex-direction: column; gap: 6px; }
/* Segmentada: as opções dividem a largura (a escala de 0 a 10 é uma régua — os rótulos dos extremos ficam por baixo
   do 0 e do 10, como nos inquéritos do Qualtrics e do Customer Voice). */
.lt-escolha--seg .lt-escolha__opcoes[b-wdiuo80f1u] { flex-direction: row; flex-wrap: nowrap; gap: 4px; }

.lt-escolha__opcao[b-wdiuo80f1u] {
    position: relative; display: flex; align-items: center; gap: .5rem; min-height: 40px; padding: .45rem .75rem;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); background: var(--lt-surface);
    font-size: .9rem; color: var(--lt-ink); cursor: pointer; -webkit-user-select: none; user-select: none;
    transition: background-color .12s ease, border-color .12s ease;
}
.lt-escolha--seg .lt-escolha__opcao[b-wdiuo80f1u] { flex: 1 1 0; justify-content: center; min-width: 0; padding: .45rem .2rem; font-variant-numeric: tabular-nums; text-align: center; }
.lt-escolha__opcao:hover[b-wdiuo80f1u] { border-color: var(--lt-brand); }
.lt-escolha__opcao.is-escolhida[b-wdiuo80f1u] { background: var(--lt-brand); border-color: var(--lt-brand); color: #fff; font-weight: 600; }

/* Escondido para a vista, não para o teclado: o anel de foco vai para a opção. */
.lt-escolha__radio[b-wdiuo80f1u] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.lt-escolha__opcao:has(.lt-escolha__radio:focus-visible)[b-wdiuo80f1u] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }

.lt-escolha[disabled] .lt-escolha__opcao[b-wdiuo80f1u] { cursor: not-allowed; opacity: .6; }

.lt-escolha__extremos[b-wdiuo80f1u] { display: flex; justify-content: space-between; gap: 1rem; margin-top: 4px; font-size: .75rem; color: var(--lt-muted); }

@media (prefers-reduced-motion: reduce) { .lt-escolha__opcao[b-wdiuo80f1u] { transition: none; } }
/* _content/Logitools.Client.Shared/Components/GlobalSearch.razor.rz.scp.css */
.lt-gs[b-rn25q1phid] {
    position: relative;
    width: 100%;
    font-family: var(--lt-font);
}

.lt-gs__box[b-rn25q1phid] {
    display: flex;
    align-items: center;
    gap: .45rem;
    width: 100%;
    height: 38px;
    padding: 0 .45rem 0 .7rem;
    border: 1px solid rgba(238, 243, 246, .2);
    border-radius: var(--lt-radius-sm);
    background: rgba(255, 255, 255, .1);
    color: var(--lt-header-ink);
    box-sizing: border-box;
}

.lt-gs__box:focus-within[b-rn25q1phid] {
    border-color: rgba(255, 255, 255, .48);
    box-shadow: 0 0 0 3px rgba(22, 171, 222, .28);
}

.lt-gs__icon[b-rn25q1phid] {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: rgba(238, 243, 246, .72);
}

.lt-gs__box input[b-rn25q1phid] {
    min-width: 0;
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    color: #fff;
    font-size: .9rem;
}

.lt-gs__box input[b-rn25q1phid]::placeholder {
    color: rgba(238, 243, 246, .62);
}

.lt-gs__clear[b-rn25q1phid] {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    color: rgba(238, 243, 246, .88);
    cursor: pointer;
    line-height: 1;
}

.lt-gs__clear:hover[b-rn25q1phid] {
    background: rgba(255, 255, 255, .22);
    color: #fff;
}

.lt-gs__panel[b-rn25q1phid] {
    position: absolute;
    top: calc(100% + .55rem);
    left: 0;
    z-index: 70;
    width: min(540px, 92vw);
    max-height: min(68vh, 620px);
    overflow-y: auto;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    box-shadow: var(--lt-shadow-lg);
    color: var(--lt-ink);
}

.lt-gs__section[b-rn25q1phid] {
    padding: .65rem;
    border-bottom: 1px solid var(--lt-surface-2);
}

.lt-gs__section:last-child[b-rn25q1phid] {
    border-bottom: none;
}

.lt-gs__section h2[b-rn25q1phid] {
    margin: 0 0 .45rem;
    color: var(--lt-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.lt-gs__row[b-rn25q1phid] {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    min-height: 48px;
    padding: .5rem;
    border: none;
    border-radius: var(--lt-radius-sm);
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.lt-gs__row:hover[b-rn25q1phid],
.lt-gs__row:focus-visible[b-rn25q1phid] {
    outline: none;
    background: var(--lt-brand-tint);
}

.lt-gs__rowicon[b-rn25q1phid] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    border-radius: 9px;
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-size: .74rem;
    font-weight: 800;
}

/* O ícone do módulo, o mesmo do painel central. */
.lt-gs__rowicon--module[b-rn25q1phid] {
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1;
}

/* Um módulo por migrar aparece esbatido, como no painel. */
.lt-gs__row.is-soon .lt-gs__rowicon[b-rn25q1phid] {
    background: var(--lt-surface-2);
    filter: grayscale(1);
    opacity: .62;
}

.lt-gs__rowicon--product[b-rn25q1phid] {
    background: #edf8f1;
    color: var(--lt-success);
}

.lt-gs__rowbody[b-rn25q1phid] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lt-gs__rowbody strong[b-rn25q1phid],
.lt-gs__rowbody small[b-rn25q1phid] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lt-gs__rowbody strong[b-rn25q1phid] {
    color: var(--lt-ink);
    font-size: .9rem;
    font-weight: 700;
}

.lt-gs__rowbody small[b-rn25q1phid] {
    color: var(--lt-muted);
    font-size: .76rem;
}

.lt-gs__state[b-rn25q1phid] {
    margin: .45rem .25rem;
    color: var(--lt-muted);
    font-size: .84rem;
}

.lt-gs__state--err[b-rn25q1phid] {
    color: var(--lt-danger);
}

.lt-gs__state--empty[b-rn25q1phid] {
    padding: 0 .65rem .65rem;
}

@media (max-width: 640px) {
    .lt-gs__panel[b-rn25q1phid] {
        left: auto;
        right: 0;
        width: min(420px, 94vw);
    }
}
/* _content/Logitools.Client.Shared/Components/Graficos/LtGraficoBarras.razor.rz.scp.css */
/* Gráfico de barras da casa. Bloco próprio `lt-grafico` (UI-CONVENTIONS §2). Cores só por tokens: as séries
   usam classes de cor definidas aqui, para o tema escuro (se vier) mudar num sítio só.

   O desenho (SVG) estica para a largura e tem ALTURA FIXA; as legendas dos eixos são HTML e ficam com o
   tamanho do texto do ecrã, seja qual for a largura (ver o comentário no .razor). */

.lt-grafico[b-moapn3g7du] { margin: 0; container-type: inline-size; }

.lt-grafico__area[b-moapn3g7du] {
    position: relative;
    display: grid;
    grid-template-columns: 3.4rem 1fr;
    grid-template-rows: 11.5rem 1.5rem;
}

.lt-grafico__eixoy[b-moapn3g7du] { position: relative; grid-column: 1; grid-row: 1; }
.lt-grafico__yl[b-moapn3g7du] {
    position: absolute; right: .45rem; transform: translateY(-50%);
    font-size: .68rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; white-space: nowrap;
}

.lt-grafico__plot[b-moapn3g7du] { position: relative; grid-column: 2; grid-row: 1; }
.lt-grafico__svg[b-moapn3g7du] { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }

.lt-grafico__eixox[b-moapn3g7du] { position: relative; grid-column: 2; grid-row: 2; }
.lt-grafico__xl[b-moapn3g7du] {
    position: absolute; top: .3rem; transform: translateX(-50%);
    font-size: .68rem; color: var(--lt-muted); white-space: nowrap;
}
/* Estreito: um mês sim, um mês não — doze legendas em 300 px encavalitam-se. Só com MUITAS legendas (> 6, o
   `--denso`): com poucas categorias (as 4 fases do funil) esconder uma em duas deixava barras sem nome. */
@container (max-width: 30rem) {
    .lt-grafico--denso .lt-grafico__xl:nth-child(even)[b-moapn3g7du] { visibility: hidden; }
}

/* Traços que não escalam: o SVG estica, a grelha e a linha ficam com a espessura certa. */
.lt-grafico__grelha[b-moapn3g7du] { stroke: var(--lt-line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.lt-grafico__barra[b-moapn3g7du] { stroke: var(--lt-surface); stroke-width: 1; vector-effect: non-scaling-stroke; }

/* As séries: rampa da marca (a principal escura, a secundária a meio caminho) — mais uma de apoio.
   A secundária não é o --lt-brand-tint: tão claro que uma barra anónima de 150 k€ quase não se via. */
.lt-grafico__s1[b-moapn3g7du] { fill: var(--lt-brand); background: var(--lt-brand); }
.lt-grafico__s2[b-moapn3g7du] { fill: color-mix(in srgb, var(--lt-brand) 38%, var(--lt-surface)); background: color-mix(in srgb, var(--lt-brand) 38%, var(--lt-surface)); }
.lt-grafico__s3[b-moapn3g7du] { fill: var(--lt-muted); background: var(--lt-muted); }
.lt-grafico__s4[b-moapn3g7du] { fill: var(--lt-warning); background: var(--lt-warning); }

/* O mês incompleto: mais claro E com contorno tracejado — não depende só da cor. */
.lt-grafico__barra.is-parcial[b-moapn3g7du] { fill-opacity: .45; stroke: var(--lt-ink-2); stroke-dasharray: 3 2; }

/* A comparação: TRACEJADA — distingue-se sem depender da cor. */
.lt-grafico__linha[b-moapn3g7du] { fill: none; stroke: var(--lt-ink); stroke-width: 1.6; stroke-dasharray: 5 4; vector-effect: non-scaling-stroke; }

.lt-grafico__legenda[b-moapn3g7du] { display: flex; flex-wrap: wrap; gap: .25rem 1rem; margin-top: .35rem; font-size: .75rem; color: var(--lt-muted); }
.lt-grafico__item[b-moapn3g7du] { display: inline-flex; align-items: center; gap: .35rem; }
.lt-grafico__marca[b-moapn3g7du] { display: inline-block; width: .7rem; height: .7rem; border-radius: 2px; }
.lt-grafico__marca--linha[b-moapn3g7du] { height: 0; border-top: 2px dashed var(--lt-ink); border-radius: 0; }
.lt-grafico__marca--parcial[b-moapn3g7du] { background: color-mix(in srgb, var(--lt-brand) 45%, var(--lt-surface)); outline: 1px dashed var(--lt-ink-2); }

.lt-grafico__dados[b-moapn3g7du] { margin-top: .35rem; font-size: .78rem; }
.lt-grafico__dados > summary[b-moapn3g7du] { cursor: pointer; color: var(--lt-muted); }
.lt-grafico__dados > summary:focus-visible[b-moapn3g7du] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-grafico__tabela[b-moapn3g7du] { width: 100%; margin-top: .35rem; border-collapse: collapse; }
.lt-grafico__tabela th[b-moapn3g7du], .lt-grafico__tabela td[b-moapn3g7du] { padding: .15rem .4rem; border-bottom: 1px solid var(--lt-line); text-align: left; }
.lt-grafico__tabela .is-num[b-moapn3g7du] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* A dica do mês ao passar o rato (mockup do CRM `.chart-tip`): a coluna do mês acende e a caixa escura mostra os
   valores de todas as séries. Só CSS — sem ida e volta ao servidor a cada movimento do rato. */
.lt-grafico__colunas[b-moapn3g7du] { position: absolute; inset: 0; }
.lt-grafico__col[b-moapn3g7du] { position: absolute; top: 0; bottom: 0; }
.lt-grafico__col:hover[b-moapn3g7du] { background: color-mix(in srgb, var(--lt-brand) 7%, transparent); border-radius: 4px; }
.lt-grafico__dica[b-moapn3g7du] {
    position: absolute; left: 50%; top: 8px; z-index: 3; transform: translateX(-50%);
    display: flex; flex-direction: column; gap: 3px; min-width: 9rem;
    padding: 7px 10px; border-radius: 8px;
    color: #fff; background: var(--lt-ink); box-shadow: var(--lt-shadow-lg);
    font-size: .72rem; line-height: 1.35; white-space: nowrap; font-variant-numeric: tabular-nums;
    opacity: 0; pointer-events: none; transition: opacity .1s ease;
}
.lt-grafico__col.is-fim .lt-grafico__dica[b-moapn3g7du] { left: auto; right: 0; transform: none; }
.lt-grafico__col:hover .lt-grafico__dica[b-moapn3g7du] { opacity: 1; }
.lt-grafico__dica b[b-moapn3g7du] { font-weight: 600; }
.lt-grafico__dica span[b-moapn3g7du] { display: inline-flex; align-items: center; gap: 6px; }
.lt-grafico__dica .lt-grafico__marca--linha[b-moapn3g7du] { border-top-color: #fff; }
@media (prefers-reduced-motion: reduce) { .lt-grafico__dica[b-moapn3g7du] { transition: none; } }
/* _content/Logitools.Client.Shared/Components/Marcacoes/MarcacaoFolha.razor.rz.scp.css */
/* O invólucro só escuta as teclas (a folha fica alterada à primeira): não tem caixa. */
.lt-mf[b-vk6lzyfiah] { display: contents; }

/* A folha da marcação — bloco próprio `lt-mf`. As linhas que não são campos (o estado, as ações, o cliente, o histórico) têm as
   margens das linhas da LtSheet (11×14 px) e a mesma divisória. */
.lt-mf__estado[b-vk6lzyfiah], .lt-mf__acoes[b-vk6lzyfiah], .lt-mf__cliente[b-vk6lzyfiah], .lt-mf__cancelar[b-vk6lzyfiah], .lt-mf__conflitos[b-vk6lzyfiah], .lt-mf__hist[b-vk6lzyfiah], .lt-mf__nota[b-vk6lzyfiah] {
    padding: 10px 14px; border-bottom: 1px solid var(--lt-line);
}
.lt-mf__estado[b-vk6lzyfiah] { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.lt-mf__numero[b-vk6lzyfiah] { margin-left: auto; font-size: .8rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-mf__acoes[b-vk6lzyfiah] { display: flex; flex-wrap: wrap; gap: .4rem; }
.lt-mf__desfazer[b-vk6lzyfiah] { margin-left: auto; }
/* O cancelar: os campos já são linhas da folha (com as suas margens) — o invólucro só dá o fundo e o botão alinha com eles. */
.lt-mf__cancelar[b-vk6lzyfiah] { display: flex; flex-direction: column; padding: 0; background: var(--lt-surface-2); }
.lt-mf__erro[b-vk6lzyfiah] { margin: 0; padding: 8px 14px 0; font-size: .82rem; color: var(--lt-danger-ink, var(--lt-danger)); }
.lt-mf__cancelar-botao[b-vk6lzyfiah] { padding: 10px 14px; display: flex; justify-content: flex-end; }
.lt-mf__cancelar[b-vk6lzyfiah] >  .lt-btn { align-self: flex-start; }
.lt-mf__cliente[b-vk6lzyfiah] { display: flex; align-items: baseline; gap: .6rem; font-size: .9rem; }
.lt-mf__cliente span[b-vk6lzyfiah] { color: var(--lt-ink); font-size: .83rem; min-width: 7rem; }
.lt-mf__cliente small[b-vk6lzyfiah] { color: var(--lt-muted); }
.lt-mf__nota[b-vk6lzyfiah] { margin: 0; font-size: .8rem; color: var(--lt-warning-ink); }
.lt-mf__conflitos[b-vk6lzyfiah] { margin: 0; padding-left: 2rem; font-size: .84rem; color: var(--lt-danger-ink, var(--lt-ink)); }
.lt-mf__hist[b-vk6lzyfiah] { border-bottom: 0; }
.lt-mf__hist summary[b-vk6lzyfiah] { cursor: pointer; font-size: .83rem; font-weight: 600; }
.lt-mf__hist ol[b-vk6lzyfiah] { margin: .4rem 0 0; padding-left: 1.1rem; display: flex; flex-direction: column; gap: .25rem; font-size: .82rem; }
.lt-mf__hist li span + span[b-vk6lzyfiah]::before { content: " · "; color: var(--lt-muted); }
.lt-mf__hquando[b-vk6lzyfiah] { font-variant-numeric: tabular-nums; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Marcacoes/MarcacoesLista.razor.rz.scp.css */
/* A lista do dia — bloco próprio `lt-mlista`. Tabela uniforme (realce só no estado, pela pill); o que já não conta fica riscado. */
.lt-mlista[b-t02uys9ivq] { overflow-x: auto; border: 1px solid var(--lt-line); border-radius: 8px; background: var(--lt-surface); }
.lt-mlista__tabela[b-t02uys9ivq] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-mlista__tabela th[b-t02uys9ivq] {
    padding: 8px 12px; text-align: left; white-space: nowrap; background: var(--lt-surface);
    font-size: .74rem; font-weight: 600; color: var(--lt-muted); border-bottom: 1px solid var(--lt-line);
}
.lt-mlista__tabela td[b-t02uys9ivq] { padding: 8px 12px; border-bottom: 1px solid var(--lt-line); vertical-align: middle; }
.lt-mlista__tabela tr:last-child td[b-t02uys9ivq] { border-bottom: 0; }
.lt-mlista__hora[b-t02uys9ivq] { font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-mlista__abrir[b-t02uys9ivq] { border: 0; background: none; padding: 0; color: var(--lt-ink); font-weight: 600; cursor: pointer; text-align: left; }
.lt-mlista__abrir:hover[b-t02uys9ivq] { color: var(--lt-brand); }
.lt-mlista__abrir:focus-visible[b-t02uys9ivq] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
tr.is-atenuada .lt-mlista__abrir[b-t02uys9ivq] { text-decoration: line-through; }
.lt-mlista__acoes[b-t02uys9ivq] { white-space: nowrap; text-align: right; }
.lt-mlista__btn[b-t02uys9ivq] { padding: 4px 10px; font-size: .8rem; }
.lt-mlista__btn + .lt-mlista__btn[b-t02uys9ivq] { margin-left: .3rem; }
.lt-mlista__vazia[b-t02uys9ivq] { margin: 0; padding: 2rem .5rem; text-align: center; color: var(--lt-muted); }

@media print {
    .lt-mlista__acoes[b-t02uys9ivq], .lt-mlista__tabela th:last-child[b-t02uys9ivq] { display: none; }
    .lt-mlista[b-t02uys9ivq] { border: 0; }
}
/* _content/Logitools.Client.Shared/Components/Marcacoes/MarcacoesMes.razor.rz.scp.css */
/* O mês — bloco próprio `lt-mes`. A largura toda (regra da casa), sete colunas iguais; cada dia tem uma altura mínima e cresce com o
   que mostra (no máximo 3 linhas + «mais»). Cor só no que pede ação: a borda da linha (o tom do estado) e o número de por tratar. */
.lt-mes[b-czrwkhjzyr] {
    width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0;
    border: 1px solid var(--lt-line); border-radius: 8px; background: var(--lt-surface); overflow: hidden;
}
.lt-mes th[b-czrwkhjzyr] {
    padding: .45rem .5rem; text-align: left; font-size: .74rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
    color: var(--lt-muted); border-bottom: 1px solid var(--lt-line);
}
.lt-mes th abbr[b-czrwkhjzyr] { text-decoration: none; }
.lt-mes__dia[b-czrwkhjzyr] {
    height: 7.5rem; padding: .3rem .35rem .4rem; vertical-align: top;
    border-bottom: 1px solid var(--lt-line); border-left: 1px solid var(--lt-line);
}
.lt-mes__dia:first-child[b-czrwkhjzyr] { border-left: 0; }
.lt-mes tbody tr:last-child .lt-mes__dia[b-czrwkhjzyr] { border-bottom: 0; }
/* Os dias de fora do mês: lá estão (as semanas são inteiras), num fundo de recuo — o texto continua legível (WCAG 1.4.3). */
.lt-mes__dia.is-fora[b-czrwkhjzyr] { background: var(--lt-surface-2); }
.lt-mes__dia.is-fora .lt-mes__num[b-czrwkhjzyr] { color: var(--lt-muted); }

.lt-mes__cab[b-czrwkhjzyr] { display: flex; align-items: center; gap: .3rem; margin-bottom: .2rem; }
.lt-mes__num[b-czrwkhjzyr] {
    min-width: 1.9rem; height: 1.9rem; padding: 0 .35rem; border: 0; border-radius: 999px; background: transparent; cursor: pointer;
    font-size: .86rem; font-weight: 600; color: var(--lt-ink); font-variant-numeric: tabular-nums;
}
.lt-mes__num:hover[b-czrwkhjzyr] { background: var(--lt-surface-2); }
.lt-mes__num:focus-visible[b-czrwkhjzyr] { outline: 2px solid var(--lt-brand); outline-offset: 1px; }
/* Hoje: o círculo da marca no número, como em todos os calendários. */
.lt-mes__dia.is-hoje .lt-mes__num[b-czrwkhjzyr] { background: var(--lt-brand); color: #fff; }
.lt-mes__total[b-czrwkhjzyr] { margin-left: auto; font-size: .74rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-mes__aviso[b-czrwkhjzyr] {
    min-width: 1.25rem; padding: 0 .3rem; border-radius: 999px; text-align: center;
    font-size: .7rem; font-weight: 700; line-height: 1.25rem; background: var(--lt-warning-tint, var(--lt-surface-2)); color: var(--lt-warning-ink);
}

.lt-mes__lista[b-czrwkhjzyr] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.lt-mes__linha[b-czrwkhjzyr] {
    display: flex; align-items: baseline; gap: .3rem; width: 100%; min-width: 0; padding: .1rem .3rem; text-align: left; cursor: pointer;
    border: 0; border-left: 3px solid var(--lt-muted); border-radius: 4px; background: transparent;
    font-size: .76rem; line-height: 1.3; color: var(--lt-ink);
}
.lt-mes__linha:hover[b-czrwkhjzyr] { background: var(--lt-surface-2); }
.lt-mes__linha:focus-visible[b-czrwkhjzyr] { outline: 2px solid var(--lt-brand); outline-offset: -2px; }
.lt-mes__linha--aviso[b-czrwkhjzyr] { border-left-color: var(--lt-warning); }
.lt-mes__linha--info[b-czrwkhjzyr] { border-left-color: var(--lt-info); }
.lt-mes__linha--bom[b-czrwkhjzyr] { border-left-color: var(--lt-success); }
.lt-mes__linha--critico[b-czrwkhjzyr] { border-left-color: var(--lt-danger); }
.lt-mes__linha.is-atenuada[b-czrwkhjzyr] { border-left-style: dashed; color: var(--lt-ink-2); }
.lt-mes__linha.is-atenuada .lt-mes__quem[b-czrwkhjzyr] { text-decoration: line-through; }
.lt-mes__hora[b-czrwkhjzyr] { flex-shrink: 0; font-variant-numeric: tabular-nums; color: var(--lt-ink-2); }
.lt-mes__quem[b-czrwkhjzyr] { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.lt-mes__mais[b-czrwkhjzyr] {
    margin-top: 2px; padding: .1rem .3rem; border: 0; border-radius: 4px; background: transparent; cursor: pointer;
    font-size: .74rem; font-weight: 600; color: var(--lt-brand);
}
.lt-mes__mais:hover[b-czrwkhjzyr] { background: var(--lt-surface-2); }
.lt-mes__mais:focus-visible[b-czrwkhjzyr] { outline: 2px solid var(--lt-brand); outline-offset: 1px; }

/* Ecrã estreito: sete colunas de 45 px não leem nomes — ficam o número do dia, o total e o por tratar. */
@media (max-width: 720px) {
    .lt-mes__dia[b-czrwkhjzyr] { height: 3.6rem; padding: .2rem; }
    .lt-mes__lista[b-czrwkhjzyr], .lt-mes__mais[b-czrwkhjzyr] { display: none; }
    .lt-mes__cab[b-czrwkhjzyr] { flex-wrap: wrap; }
    .lt-mes__total[b-czrwkhjzyr] { margin-left: 0; }
}

@media print {
    .lt-mes__dia[b-czrwkhjzyr] { height: auto; min-height: 5rem; }
}
/* _content/Logitools.Client.Shared/Components/Recibos/ReciboJanela.razor.rz.scp.css */
/* A janela de receber (bloco próprio «lt-receber» — «lt-rec» já é do tema: o CSS isolado não usa blocos do tema — DesignSystemRatchetTests). */
.lt-receber__cliente[b-f0861dibsd] { display: flex; flex-direction: column; gap: .15rem; font-size: .88rem; color: var(--lt-ink-2); }
.lt-receber__cliente strong[b-f0861dibsd] { color: var(--lt-ink); font-size: .98rem; }
.lt-receber__vazio[b-f0861dibsd] { margin: 1.2rem 0; color: var(--lt-muted); }

.lt-receber__distribuir[b-f0861dibsd] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1rem; margin: .2rem 0 .8rem; }
.lt-receber__ajuda[b-f0861dibsd] { flex-basis: 100%; color: var(--lt-muted); font-size: .78rem; }

.lt-receber__grelha[b-f0861dibsd] { width: 100%; border-collapse: collapse; font-size: .88rem; }
.lt-receber__grelha th[b-f0861dibsd] {
    padding: .45rem .5rem; text-align: left; font-size: .72rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .03em; color: var(--lt-muted); border-bottom: 1px solid var(--lt-line);
}
.lt-receber__grelha td[b-f0861dibsd] { padding: .35rem .5rem; border-bottom: 1px solid var(--lt-surface-2); vertical-align: middle; }
.lt-receber__grelha tr.is-escolhida td[b-f0861dibsd] { background: var(--lt-brand-tint); }
.lt-receber__grelha tr.is-credito td:nth-child(5)[b-f0861dibsd], .lt-receber__grelha tr.is-credito td:nth-child(6)[b-f0861dibsd] { color: var(--lt-success-ink); }
.lt-receber__grelha td.is-vencida[b-f0861dibsd] { color: var(--lt-warning-ink); font-weight: 600; }
.lt-receber__c-sel[b-f0861dibsd] { width: 2.2rem; text-align: center; }
.lt-receber__c-num[b-f0861dibsd] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-receber__nada[b-f0861dibsd] { color: var(--lt-muted); }
.lt-receber__tag[b-f0861dibsd] {
    display: inline-block; margin-left: .35rem; padding: .05rem .4rem; border-radius: 999px; font-size: .7rem;
    background: var(--lt-success-tint); color: var(--lt-success-ink);
}

.lt-receber__pagamento[b-f0861dibsd] { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--lt-line); }
.lt-receber__pagamento h3[b-f0861dibsd] { margin: 0 0 .5rem; font-size: .95rem; }
.lt-receber__caixa[b-f0861dibsd] { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem 1rem; margin: 0 0 .6rem; }
.lt-receber__modos[b-f0861dibsd] { display: flex; flex-wrap: wrap; gap: .5rem; }
.lt-receber__modo[b-f0861dibsd] { display: flex; align-items: center; gap: .35rem; }
.lt-receber__modo button[b-f0861dibsd] {
    padding: .45rem .8rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm); background: var(--lt-surface);
    color: var(--lt-ink); font: inherit; cursor: pointer;
}
.lt-receber__modo.has-amount button[b-f0861dibsd] { border-color: var(--lt-brand); background: var(--lt-brand-tint); color: var(--lt-brand-700); font-weight: 600; }
.lt-receber__resumo[b-f0861dibsd], .lt-receber__totais[b-f0861dibsd] { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: .7rem 0 0; }
.lt-receber__resumo div[b-f0861dibsd], .lt-receber__totais div[b-f0861dibsd] { display: flex; gap: .4rem; align-items: baseline; }
.lt-receber__resumo dt[b-f0861dibsd], .lt-receber__totais dt[b-f0861dibsd] { color: var(--lt-muted); font-size: .82rem; }
.lt-receber__resumo dd[b-f0861dibsd], .lt-receber__totais dd[b-f0861dibsd] { margin: 0; font-variant-numeric: tabular-nums; font-weight: 600; }
.lt-receber__totais .is-total dd[b-f0861dibsd] { font-size: 1.1rem; color: var(--lt-ink); }
.lt-receber__erro[b-f0861dibsd] { margin: .4rem 0 0; color: var(--lt-danger-ink); font-size: .85rem; }

.lt-receber__feito[b-f0861dibsd] { margin: 1rem 0; padding: 1rem; border-radius: var(--lt-radius); background: var(--lt-success-tint); }
.lt-receber__feito-t[b-f0861dibsd] { margin: 0 0 .7rem; font-weight: 600; color: var(--lt-success-ink); }
.lt-receber__feito-acoes[b-f0861dibsd] { display: flex; gap: .5rem; }
/* _content/Logitools.Client.Shared/Components/StockHierarchy.razor.rz.scp.css */
/* StockHierarchy — disponível explicável + drill-down documental. */
.lt-sh__note[b-l6gclaevjv] { margin: .5rem 0; font-size: .82rem; color: var(--lt-muted); }
.lt-sh__note.is-error[b-l6gclaevjv] { color: var(--lt-danger); }

.lt-sh__tiles[b-l6gclaevjv] { display: flex; gap: .5rem; margin-bottom: .7rem; }
.lt-sh__tile[b-l6gclaevjv] {
    flex: 1; min-width: 0; padding: .5rem .6rem; background: var(--lt-surface-2);
    border: 1px solid transparent; border-radius: var(--lt-radius-sm); text-align: center;
}
.lt-sh__tile span[b-l6gclaevjv] {
    display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: .66rem; text-transform: uppercase; letter-spacing: .04em; color: var(--lt-muted);
}
.lt-sh__tile strong[b-l6gclaevjv] { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.lt-sh__tile.is-current[b-l6gclaevjv] { background: var(--lt-brand-tint); border-color: var(--lt-brand); }
.lt-sh__tile.is-current span[b-l6gclaevjv] { color: var(--lt-brand-700); }

.lt-sh__warning[b-l6gclaevjv] {
    margin: 0 0 .65rem; padding: .5rem .6rem; border: 1px solid color-mix(in srgb, #d97706 35%, transparent);
    border-radius: var(--lt-radius-sm); background: color-mix(in srgb, #f59e0b 9%, transparent);
    color: var(--lt-ink-2); font-size: .74rem;
}

.lt-sh__grid[b-l6gclaevjv] { width: 100%; border-collapse: collapse; font-size: .8rem; }
.lt-sh__grid th[b-l6gclaevjv] {
    text-align: left; font-size: .66rem; text-transform: uppercase; letter-spacing: .03em;
    color: var(--lt-muted); padding: .3rem .45rem; border-bottom: 1px solid var(--lt-line);
}
.lt-sh__grid td[b-l6gclaevjv] { padding: .34rem .45rem; border-bottom: 1px solid var(--lt-surface-2); }
.lt-sh__grid .c-num[b-l6gclaevjv], .lt-sh__docgrid .c-num[b-l6gclaevjv] {
    text-align: right; font-variant-numeric: tabular-nums;
}
.lt-sh__empresa td[b-l6gclaevjv] { font-weight: 700; border-top: 1px solid var(--lt-line); }
.lt-sh__empresa small[b-l6gclaevjv] { display: block; font-weight: 400; color: var(--lt-muted); }
.lt-sh__loja td[b-l6gclaevjv] { font-weight: 700; background: var(--lt-surface-2); }
.lt-sh__loja.is-current td[b-l6gclaevjv] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-sh__arm .lt-sh__armname[b-l6gclaevjv] { padding-left: 1.1rem; color: var(--lt-ink-2); }
.lt-sh__arm.is-current td[b-l6gclaevjv] { background: color-mix(in srgb, var(--lt-brand-tint) 45%, transparent); }
.lt-sh__bad[b-l6gclaevjv] {
    display: inline-grid; place-items: center; min-width: 1rem; height: 1rem; margin-left: .2rem;
    border-radius: 999px; background: #fef3c7; color: #92400e; font-size: .65rem; font-weight: 800;
}
.lt-sh__hint[b-l6gclaevjv] { margin: .5rem 0 0; font-size: .72rem; color: var(--lt-muted); }

.lt-sh__docs[b-l6gclaevjv] {
    margin-top: .75rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); overflow: hidden;
}
.lt-sh__docs > header[b-l6gclaevjv] {
    display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem;
    padding: .65rem .75rem; background: var(--lt-surface-2);
}
.lt-sh__docs h4[b-l6gclaevjv] { margin: 0; font-size: .84rem; }
.lt-sh__docs p[b-l6gclaevjv] { margin: .15rem 0 0; font-size: .72rem; color: var(--lt-muted); }
.lt-sh__docs > header button[b-l6gclaevjv] {
    border: 0; background: transparent; color: var(--lt-muted); cursor: pointer; font-size: .9rem;
}
.lt-sh__docswrap[b-l6gclaevjv] { overflow-x: auto; }
.lt-sh__docgrid[b-l6gclaevjv] { width: 100%; min-width: 700px; border-collapse: collapse; font-size: .72rem; }
.lt-sh__docgrid th[b-l6gclaevjv] {
    padding: .35rem .45rem; text-align: left; color: var(--lt-muted); background: var(--lt-surface);
    border-bottom: 1px solid var(--lt-line); white-space: nowrap;
}
.lt-sh__docgrid td[b-l6gclaevjv] { padding: .4rem .45rem; border-bottom: 1px solid var(--lt-surface-2); }
.lt-sh__docgrid td small[b-l6gclaevjv] { display: block; color: var(--lt-muted); }
.lt-sh__docgrid tr.is-anomaly td[b-l6gclaevjv] { background: color-mix(in srgb, #f59e0b 8%, transparent); }
.lt-sh__anomaly[b-l6gclaevjv] { color: #92400e; font-weight: 700; }
.lt-sh__ok[b-l6gclaevjv] { color: #166534; }
/* _content/Logitools.Client.Shared/Components/Stocks/AcertosDeStock.razor.rz.scp.css */
/* O Acerto de Stock — dentro do ecrã «Inventário», a toda a largura (como as Transferências). Números neutros: uma saída não é
   um erro, e o sinal diz-se no texto («entram» / «saem»), não com cor. */
.lt-acs[b-9u59dawvua] { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .7rem; }

.lt-acs__barra[b-9u59dawvua] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.lt-acs__barra[b-9u59dawvua]  .lt-field { flex: 0 1 360px; margin: 0; }
.lt-acs__espaco[b-9u59dawvua] { flex: 1; }

.lt-acs__nota[b-9u59dawvua] { display: flex; align-items: flex-start; gap: .45rem; margin: 0; font-size: .84rem; color: var(--lt-muted); }
.lt-acs__nota--fundo[b-9u59dawvua] { padding: .6rem .8rem; border-top: 1px solid var(--lt-line); }

.lt-acs__cartao[b-9u59dawvua] {
    flex: 1; min-height: 0; display: flex; flex-direction: column;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg, 12px); overflow: hidden;
}
.lt-acs__msg[b-9u59dawvua] { margin: 0; padding: 1.4rem; font-size: .9rem; color: var(--lt-muted); }
.lt-acs__rolo[b-9u59dawvua] { flex: 1; min-height: 0; overflow: auto; }

.lt-acs__tabela[b-9u59dawvua] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-acs__tabela thead th[b-9u59dawvua] {
    position: sticky; top: 0; z-index: 1; padding: .55rem .8rem; text-align: left;
    background: var(--lt-surface-2); border-bottom: 1px solid var(--lt-line);
    font-size: .76rem; font-weight: 600; color: var(--lt-muted);
}
.lt-acs__tabela td[b-9u59dawvua] { padding: .55rem .8rem; border-bottom: 1px solid var(--lt-line); color: var(--lt-ink); text-align: left; }
.lt-acs__tabela .c-num[b-9u59dawvua] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-acs__linha[b-9u59dawvua] { cursor: pointer; }
.lt-acs__linha:hover[b-9u59dawvua] { background: var(--lt-brand-tint); }
.lt-acs__linha:focus-visible[b-9u59dawvua] { outline: 2px solid var(--lt-brand); outline-offset: -2px; }
.lt-acs__data[b-9u59dawvua] { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* A janela do acerto novo: procurar o artigo por cima da grelha. */
.lt-acs__artigo[b-9u59dawvua] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: .5rem; }
.lt-acs__artigo[b-9u59dawvua]  .lt-field { flex: 1 1 320px; margin: 0; }
.lt-acs__dica[b-9u59dawvua] { flex-basis: 100%; font-size: .8rem; color: var(--lt-muted); }
.lt-acs__encontrados[b-9u59dawvua] {
    display: flex; flex-direction: column; margin-bottom: .6rem; max-height: 14rem; overflow: auto;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm, 8px);
}
.lt-acs__encontrado[b-9u59dawvua] {
    display: flex; gap: .6rem; align-items: baseline; width: 100%; padding: .5rem .7rem;
    border: 0; border-bottom: 1px solid var(--lt-line); background: var(--lt-surface);
    font: inherit; font-size: .86rem; color: var(--lt-ink); text-align: left; cursor: pointer;
}
.lt-acs__encontrado:hover[b-9u59dawvua], .lt-acs__encontrado:focus-visible[b-9u59dawvua] { background: var(--lt-brand-tint); outline: none; }
.lt-acs__ref[b-9u59dawvua] { font-variant-numeric: tabular-nums; color: var(--lt-muted); }
.lt-acs__stock[b-9u59dawvua] { margin-left: auto; font-size: .8rem; color: var(--lt-muted); white-space: nowrap; }
.lt-acs__semlote[b-9u59dawvua] { color: var(--lt-muted); }
.lt-acs__totais[b-9u59dawvua] { margin: 0; font-size: .86rem; color: var(--lt-ink); font-variant-numeric: tabular-nums; }
/* _content/Logitools.Client.Shared/Components/Stocks/AcertoStockDialog.razor.rz.scp.css */
/* Acertar stock (IN1) — o diálogo do inventário de um artigo, no desenho dos diálogos de formulário da casa (o da receita). */
.lt-acerto__overlay[b-tpzeqwjvqo] {
    position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center;
    background: rgba(15, 27, 42, .45);
}
.lt-acerto[b-tpzeqwjvqo] {
    background: var(--lt-surface); border-radius: var(--lt-radius); box-shadow: var(--lt-shadow-lg, 0 18px 50px rgba(0,0,0,.3));
    padding: 1.3rem 1.5rem; width: min(760px, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow: auto;
    display: flex; flex-direction: column; gap: .8rem;
}
.lt-acerto__head[b-tpzeqwjvqo] { display: flex; flex-direction: column; gap: .15rem; }
.lt-acerto__title[b-tpzeqwjvqo] { margin: 0; font-size: 1.05rem; color: var(--lt-ink); }
.lt-acerto__artigo[b-tpzeqwjvqo] { margin: 0; font-size: .88rem; color: var(--lt-muted); }
.lt-acerto__ajuda[b-tpzeqwjvqo] { margin: 0; font-size: .82rem; color: var(--lt-muted); }
.lt-acerto__table[b-tpzeqwjvqo] { width: 100%; border-collapse: collapse; font-size: .88rem; }
.lt-acerto__table th[b-tpzeqwjvqo] {
    text-align: left; font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    color: var(--lt-muted); padding: .35rem .5rem; border-bottom: 1px solid var(--lt-line);
}
.lt-acerto__table td[b-tpzeqwjvqo] { padding: .3rem .5rem; border-bottom: 1px solid var(--lt-line); vertical-align: middle; white-space: nowrap; }
.lt-acerto__table .c-num[b-tpzeqwjvqo] { text-align: right; font-variant-numeric: tabular-nums; }
.lt-acerto__colcontado[b-tpzeqwjvqo] { width: 8.5rem; }
.lt-acerto__table tr.is-mudou td[b-tpzeqwjvqo] { background: var(--lt-brand-tint, rgba(14, 116, 144, .06)); }
.lt-acerto__actions[b-tpzeqwjvqo] { display: flex; justify-content: flex-end; gap: .5rem; }
@media (max-width: 560px) {
    .lt-acerto[b-tpzeqwjvqo] { padding: 1rem; }
    .lt-acerto__table[b-tpzeqwjvqo] { font-size: .82rem; }
}
/* _content/Logitools.Client.Shared/Components/Stocks/CustosDoArtigo.razor.rz.scp.css */
/* O separador «Custos» da ficha do artigo. Os cartões e a tabela são os da ficha (lt-fx2__*, no tema). */

.lt-custos__numeros[b-e1lulnhq4q] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: .75rem 1.5rem;
    margin: .25rem 0 .75rem;
}

.lt-custos__numeros dt[b-e1lulnhq4q],
.lt-custos__mais dt[b-e1lulnhq4q] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--lt-muted);
    font-weight: 700;
}

.lt-custos__numeros dd[b-e1lulnhq4q] {
    margin: .15rem 0 0;
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
    color: var(--lt-ink);
}

.lt-custos__pendente[b-e1lulnhq4q] {
    margin: .5rem 0;
}

.lt-custos__abrir[b-e1lulnhq4q] {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: var(--lt-brand-700);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.lt-custos__abrir:focus-visible[b-e1lulnhq4q] {
    outline: none;
    box-shadow: 0 0 0 3px var(--lt-brand-glow);
    border-radius: var(--lt-radius-sm);
}

.lt-custos__detalhe td[b-e1lulnhq4q] {
    background: var(--lt-surface-2);
}

.lt-custos__mais[b-e1lulnhq4q] {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
    margin: 0 0 .5rem;
}

.lt-custos__mais dd[b-e1lulnhq4q] {
    margin: .1rem 0 0;
    font-variant-numeric: tabular-nums;
}

.lt-custos__ajustes[b-e1lulnhq4q] {
    margin: 0;
    padding-left: 1.25rem;
    font-size: .85rem;
}

.lt-custos__quando[b-e1lulnhq4q] {
    color: var(--lt-muted);
    margin-right: .5rem;
    font-variant-numeric: tabular-nums;
}

/* As ações do cartão (corrigir o PCP, refazer) lado a lado. */
.lt-custos__acoes[b-e1lulnhq4q] { display: inline-flex; gap: .5rem; flex-wrap: wrap; }

/* A correção do PCP (R9): um bloco dentro do cartão, separado por uma linha — não é um modal: a ficha fica à vista. */
.lt-custos__corrigir[b-e1lulnhq4q] {
    margin-top: .9rem;
    padding-top: .8rem;
    border-top: 1px solid var(--lt-line);
    display: flex;
    flex-direction: column;
    gap: .55rem;
}
.lt-custos__h4[b-e1lulnhq4q] { margin: 0; font-size: .92rem; font-weight: 600; color: var(--lt-ink); }
.lt-custos__botoes[b-e1lulnhq4q] { display: flex; gap: .5rem; flex-wrap: wrap; }
/* _content/Logitools.Client.Shared/Components/Stocks/InventarioContagem.razor.rz.scp.css */
/* Contar, rever e lançar um inventário — dentro da janela de documento (LtDocumento). Números neutros; realce só no que pede
   ação (a linha acabada de ler, o que impede o lançamento). */
.lt-ivc__msg[b-bllgfjzb7j] { margin: 0; padding: 1.2rem; font-size: .9rem; color: var(--lt-muted); }
.lt-ivc__nota[b-bllgfjzb7j] { display: flex; align-items: flex-start; gap: .4rem; margin: 0; font-size: .82rem; color: var(--lt-muted); }

/* O leitor: o armazém, o código (o foco) e «×N», numa linha. */
.lt-ivc__leitor[b-bllgfjzb7j] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem; }
.lt-ivc__leitor[b-bllgfjzb7j]  .lt-field { margin: 0; }
.lt-ivc__codigo[b-bllgfjzb7j] { flex: 1 1 320px; min-width: 220px; }
.lt-ivc__codigo[b-bllgfjzb7j]  .lt-field { width: 100%; }
.lt-ivc__vezes[b-bllgfjzb7j] { flex: 0 0 96px; }

.lt-ivc__eco[b-bllgfjzb7j] { display: flex; align-items: center; gap: .45rem; min-height: 1.6rem; font-size: .9rem; color: var(--lt-ink); }
.lt-ivc__visto[b-bllgfjzb7j] { color: var(--lt-success-ink); font-weight: 700; }

/* O lote a escolher (um artigo com lotes lido sem o lote). */
.lt-ivc__lotes[b-bllgfjzb7j] {
    display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; padding: .8rem .9rem;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm, 8px); background: var(--lt-surface-2);
}
.lt-ivc__lotes-titulo[b-bllgfjzb7j] { margin: 0; font-size: .88rem; color: var(--lt-ink); }
.lt-ivc__lotes-botoes[b-bllgfjzb7j] { display: flex; flex-wrap: wrap; gap: .45rem; }
/* O lote escrito, a validade de um lote novo, a procura do artigo: o campo e o botão numa linha. */
.lt-ivc__outro[b-bllgfjzb7j] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem; }
.lt-ivc__outro[b-bllgfjzb7j]  .lt-field { margin: 0; min-width: 220px; }
.lt-ivc__lote[b-bllgfjzb7j] { display: inline-flex; flex-direction: column; align-items: flex-start; gap: .1rem; text-align: left; }
.lt-ivc__lote-nome[b-bllgfjzb7j] { font-weight: 600; font-variant-numeric: tabular-nums; }
.lt-ivc__lote-meta[b-bllgfjzb7j] { font-size: .76rem; color: var(--lt-muted); }

/* Os filtros da revisão (botões de alternar, como os da lista de planos). */
.lt-ivc__filtros[b-bllgfjzb7j] { display: flex; flex-wrap: wrap; gap: .35rem; }
.lt-ivc__filtro[b-bllgfjzb7j] {
    padding: .35rem .75rem; border: 1px solid var(--lt-line); border-radius: 999px; background: var(--lt-surface);
    font: inherit; font-size: .82rem; color: var(--lt-muted); cursor: pointer;
}
.lt-ivc__filtro:hover[b-bllgfjzb7j] { color: var(--lt-ink); background: var(--lt-brand-tint); }
.lt-ivc__filtro.is-on[b-bllgfjzb7j] { color: var(--lt-ink); border-color: var(--lt-brand); font-weight: 600; }
.lt-ivc__filtro:focus-visible[b-bllgfjzb7j] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }

/* As linhas. */
.lt-ivc__rolo[b-bllgfjzb7j] { flex: 1; min-height: 160px; overflow: auto; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm, 8px); }
.lt-ivc__tabela[b-bllgfjzb7j] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-ivc__tabela thead th[b-bllgfjzb7j] {
    position: sticky; top: 0; z-index: 1; padding: .5rem .7rem; text-align: left;
    background: var(--lt-surface-2); border-bottom: 1px solid var(--lt-line);
    font-size: .76rem; font-weight: 600; color: var(--lt-muted);
}
.lt-ivc__tabela td[b-bllgfjzb7j] { padding: .35rem .7rem; border-bottom: 1px solid var(--lt-line); color: var(--lt-ink); text-align: left; vertical-align: middle; }
.lt-ivc__tabela .c-num[b-bllgfjzb7j] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-ivc__tabela tr.is-ultima td[b-bllgfjzb7j] { background: var(--lt-brand-tint); }
.lt-ivc__ref[b-bllgfjzb7j] { font-variant-numeric: tabular-nums; color: var(--lt-muted); margin-right: .35rem; }
.lt-ivc__contado[b-bllgfjzb7j] { width: 7.5rem; }
.lt-ivc__contado[b-bllgfjzb7j]  .lt-field { margin: 0; }
.lt-ivc__contado[b-bllgfjzb7j]  .lt-ctl { text-align: right; }
.lt-ivc__quem[b-bllgfjzb7j] { white-space: nowrap; font-size: .8rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-ivc__avisos[b-bllgfjzb7j] { white-space: nowrap; }
.lt-ivc__avisos[b-bllgfjzb7j]  .lt-pill + .lt-pill { margin-left: .25rem; }
.lt-ivc__acoes[b-bllgfjzb7j] { width: 2.5rem; text-align: center; }

/* Num total: os não contados e a data de stock. */
.lt-ivc__total[b-bllgfjzb7j] { display: flex; flex-direction: column; gap: .6rem; padding: .8rem .9rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm, 8px); }
.lt-ivc__naocontados > summary[b-bllgfjzb7j] { cursor: pointer; font-size: .86rem; color: var(--lt-ink); }
.lt-ivc__naocontados[open] .lt-ivc__tabela[b-bllgfjzb7j] { margin-top: .5rem; }
.lt-ivc__naocontados[b-bllgfjzb7j] { max-height: 40vh; overflow: auto; }

.lt-ivc__totais[b-bllgfjzb7j] { margin: 0; font-size: .9rem; color: var(--lt-ink); font-variant-numeric: tabular-nums; }
/* _content/Logitools.Client.Shared/Components/Ui/LtAgenda.razor.rz.scp.css */
/* A grelha da agenda — bloco próprio `lt-agenda`. Ocupa a largura toda (regra da casa); com muitas colunas, cada uma tem um mínimo
   e a grelha rola na horizontal por dentro, com o cabeçalho e o eixo das horas fixos. Cor só no que pede ação (a pill do estado e a
   borda do bloco); a marcação normal é neutra. */
.lt-agenda[b-gdmabkou9j] {
    /* O componente põe os valores no atributo style (o nº de colunas e a altura do dia); estes são só os de partida. */
    --lt-agenda-colunas: 1; --lt-agenda-altura: 864px; --lt-agenda-min: 160px;
    min-width: 0; border: 1px solid var(--lt-line); border-radius: 8px; background: var(--lt-surface);
}
.lt-agenda__rolo[b-gdmabkou9j] { overflow: auto; max-height: calc(100vh - 220px); }
.lt-agenda__grelha[b-gdmabkou9j] {
    display: grid;
    grid-template-columns: 3.5rem repeat(var(--lt-agenda-colunas), minmax(var(--lt-agenda-min), 1fr));
    grid-template-rows: auto var(--lt-agenda-altura);
    position: relative;
}
.lt-agenda__canto[b-gdmabkou9j], .lt-agenda__titulo[b-gdmabkou9j] {
    position: sticky; top: 0; z-index: 3;
    background: var(--lt-surface); border-bottom: 1px solid var(--lt-line);
}
.lt-agenda__canto[b-gdmabkou9j] { left: 0; z-index: 4; }
.lt-agenda__titulo[b-gdmabkou9j] { display: flex; flex-direction: column; padding: .45rem .6rem; min-width: 0; border-left: 1px solid var(--lt-line); }
.lt-agenda__titulo b[b-gdmabkou9j] { font-size: .86rem; color: var(--lt-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lt-agenda__titulo small[b-gdmabkou9j] { font-size: .74rem; color: var(--lt-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.lt-agenda__horas[b-gdmabkou9j] { position: sticky; left: 0; z-index: 2; background: var(--lt-surface); }
.lt-agenda__hora[b-gdmabkou9j] {
    position: absolute; right: .4rem; transform: translateY(-50%);
    font-size: .72rem; color: var(--lt-muted); font-variant-numeric: tabular-nums;
}
.lt-agenda__hora:first-child[b-gdmabkou9j] { transform: none; }

/* Cada coluna é um contexto de empilhamento próprio (isolation): os blocos, o bloco focado e a linha de agora ficam por baixo do
   cabeçalho e do eixo das horas, que são fixos — sem isto passavam-lhes por cima ao rolar. */
.lt-agenda__coluna[b-gdmabkou9j] { position: relative; isolation: isolate; border-left: 1px solid var(--lt-line); min-width: 0; }
.lt-agenda__linha[b-gdmabkou9j] { position: absolute; left: 0; right: 0; border-top: 1px solid var(--lt-line); pointer-events: none; }

/* O espaço vazio: invisível até o rato ou o foco passarem — aí diz que se pode marcar. */
.lt-agenda__vazio[b-gdmabkou9j] {
    position: absolute; left: 0; right: 0; z-index: 0;
    border: 0; background: transparent; cursor: pointer; padding: 0;
}
.lt-agenda__vazio:hover[b-gdmabkou9j] { background: var(--lt-surface-2); }
.lt-agenda__vazio:focus-visible[b-gdmabkou9j] { outline: 2px solid var(--lt-brand); outline-offset: -2px; background: var(--lt-surface-2); }

.lt-agenda__ocupado[b-gdmabkou9j] {
    position: absolute; left: 2px; right: 2px; z-index: 1; overflow: hidden;
    padding: .2rem .4rem; border-radius: 6px; pointer-events: none;
    background: repeating-linear-gradient(135deg, var(--lt-neutro-tint) 0 6px, var(--lt-surface-2) 6px 12px);
    font-size: .74rem; color: var(--lt-ink-2);
}

.lt-agenda__bloco[b-gdmabkou9j] {
    position: absolute; z-index: 2; overflow: hidden;
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px;
    padding: .2rem .4rem; text-align: left; cursor: pointer;
    border: 1px solid var(--lt-line); border-left: 3px solid var(--lt-muted); border-radius: 6px;
    background: var(--lt-surface); color: var(--lt-ink); font-size: .78rem; line-height: 1.25;
    box-shadow: 0 1px 2px rgb(0 0 0 / 6%);
}
.lt-agenda__bloco:hover[b-gdmabkou9j] { background: var(--lt-surface-2); }
.lt-agenda__bloco:focus-visible[b-gdmabkou9j] { outline: 2px solid var(--lt-brand); outline-offset: 1px; z-index: 3; }
.lt-agenda__bloco--aviso[b-gdmabkou9j] { border-left-color: var(--lt-warning); }
.lt-agenda__bloco--info[b-gdmabkou9j] { border-left-color: var(--lt-info); }
.lt-agenda__bloco--bom[b-gdmabkou9j] { border-left-color: var(--lt-success); }
.lt-agenda__bloco--critico[b-gdmabkou9j] { border-left-color: var(--lt-danger); }
/* Cancelada e falta: riscadas, por trás das ativas, com o texto ainda legível (sem baixar a opacidade — WCAG 1.4.3). */
.lt-agenda__bloco.is-atenuado[b-gdmabkou9j] { z-index: 1; background: var(--lt-surface-2); border-style: dashed; }
.lt-agenda__bloco.is-atenuado .lt-agenda__btitulo[b-gdmabkou9j] { text-decoration: line-through; }
.lt-agenda__blinha[b-gdmabkou9j] { display: flex; align-items: center; gap: .35rem; width: 100%; min-width: 0; flex-shrink: 0; }
.lt-agenda__bhora[b-gdmabkou9j] { flex-shrink: 0; font-variant-numeric: tabular-nums; color: var(--lt-ink-2); font-size: .72rem; }
.lt-agenda__btitulo[b-gdmabkou9j] { flex: 1 1 auto; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lt-agenda__blinha2[b-gdmabkou9j] { flex: 1 1 auto; min-width: 0; color: var(--lt-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lt-agenda__blinha[b-gdmabkou9j]  .lt-pill { flex-shrink: 0; }

/* Duas linhas compactas (35–46 px desenhados — 30 a 39 min): o mesmo conteúdo, sem folgas, e a pill baixa. */
.lt-agenda__bloco.is-compacto[b-gdmabkou9j] { gap: 0; padding: 1px .4rem 0; line-height: 1.2; }
.lt-agenda__bloco.is-compacto[b-gdmabkou9j]  .lt-pill { padding: 0 6px; font-size: .7rem; line-height: 1.2; }
/* Uma linha (menos de 35 px — 15 a 25 min): «hora · estado · cliente». O nome encolhe primeiro (a base 0 dá-lhe só o que sobra). */
.lt-agenda__bloco.is-uma-linha[b-gdmabkou9j] { justify-content: center; padding: 0 .4rem; font-size: .72rem; line-height: 1.2; }
.lt-agenda__bloco.is-uma-linha .lt-agenda__btitulo[b-gdmabkou9j] { flex: 1 1 0; }
.lt-agenda__bloco.is-uma-linha[b-gdmabkou9j]  .lt-pill { padding: 0 6px; font-size: .68rem; line-height: 1.2; }

/* O «+N» dos que não cabem lado a lado: por cima da ponta direita dos visíveis, da hora do primeiro escondido à do último (o
   more-link do FullCalendar no timeGrid). Neutro — não pede ação; 24×24 px no mínimo (WCAG 2.5.8). */
.lt-agenda__mais[b-gdmabkou9j] {
    position: absolute; right: 2px; z-index: 3; min-width: 24px; min-height: 24px; padding: .15rem .4rem 0;
    display: flex; align-items: flex-start; justify-content: center;
    border: 1px solid var(--lt-line); border-radius: 6px; background: var(--lt-surface-2); color: var(--lt-ink);
    font-size: .76rem; font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer;
    box-shadow: 0 1px 2px rgb(0 0 0 / 8%);
}
.lt-agenda__mais:hover[b-gdmabkou9j] { background: var(--lt-neutro-tint); }
/* Um escondido que pede ação dá ao «+N» a borda do tom dele (como os blocos): quem está à espera não passa despercebido. */
.lt-agenda__mais--aviso[b-gdmabkou9j] { border-left: 3px solid var(--lt-warning); }
.lt-agenda__mais--info[b-gdmabkou9j] { border-left: 3px solid var(--lt-info); }
.lt-agenda__mais--critico[b-gdmabkou9j] { border-left: 3px solid var(--lt-danger); }
.lt-agenda__mais:focus-visible[b-gdmabkou9j] { outline: 2px solid var(--lt-brand); outline-offset: 1px; z-index: 4; }

.lt-agenda__agora[b-gdmabkou9j] {
    position: absolute; left: 0; right: 0; z-index: 4; pointer-events: none;
    border-top: 2px solid var(--lt-danger);
}
.lt-agenda__agora[b-gdmabkou9j]::before {
    content: ""; position: absolute; left: -4px; top: -5px; width: 8px; height: 8px; border-radius: 50%; background: var(--lt-danger);
}

@media print {
    .lt-agenda__rolo[b-gdmabkou9j] { max-height: none; overflow: visible; }
    .lt-agenda__vazio[b-gdmabkou9j] { display: none; }
    .lt-agenda__mais[b-gdmabkou9j] { box-shadow: none; }
}
/* _content/Logitools.Client.Shared/Components/Ui/LtAvatar.razor.rz.scp.css */
/* Avatar com iniciais — bloco próprio `lt-avatar`. 30 px como no mockup. */
.lt-avatar[b-2umurkny93] {
    display: inline-flex; align-items: center; justify-content: center; flex: none;
    width: 30px; height: 30px; border-radius: 50%;
    font-size: .72rem; font-weight: 700; letter-spacing: .01em;
    color: var(--ink); background: var(--bg);
}
.lt-avatar--1[b-2umurkny93] { --bg: var(--lt-av-1-bg); --ink: var(--lt-av-1-ink); }
.lt-avatar--2[b-2umurkny93] { --bg: var(--lt-av-2-bg); --ink: var(--lt-av-2-ink); }
.lt-avatar--3[b-2umurkny93] { --bg: var(--lt-av-3-bg); --ink: var(--lt-av-3-ink); }
.lt-avatar--4[b-2umurkny93] { --bg: var(--lt-av-4-bg); --ink: var(--lt-av-4-ink); }
.lt-avatar--5[b-2umurkny93] { --bg: var(--lt-av-5-bg); --ink: var(--lt-av-5-ink); }
.lt-avatar--6[b-2umurkny93] { --bg: var(--lt-av-6-bg); --ink: var(--lt-av-6-ink); }
.lt-avatar--7[b-2umurkny93] { --bg: var(--lt-av-7-bg); --ink: var(--lt-av-7-ink); }
.lt-avatar--8[b-2umurkny93] { --bg: var(--lt-av-8-bg); --ink: var(--lt-av-8-ink); }
/* O pequeno: dentro de um cartão do quadro kanban. */
.lt-avatar.lt-avatar--sm[b-2umurkny93] { width: 22px; height: 22px; font-size: .6rem; }
/* _content/Logitools.Client.Shared/Components/Ui/LtAzulejo.razor.rz.scp.css */
/* Azulejo do ícone de área — bloco próprio `lt-azulejo`. 26 px como no mockup; o grande (36 px) é o dos cartões. */
.lt-azulejo[b-b57el0u52t] {
    display: inline-flex; align-items: center; justify-content: center; flex: none;
    width: 26px; height: 26px; border-radius: 7px; font-size: 14px;
    color: var(--cor); background: color-mix(in srgb, var(--cor) 14%, transparent);
    transition: background .12s ease, color .12s ease;
}
.lt-azulejo.is-grande[b-b57el0u52t] { width: 36px; height: 36px; border-radius: 10px; font-size: 18px; }
.lt-azulejo.is-cheio[b-b57el0u52t] { color: #fff; background: var(--cor); box-shadow: var(--lt-shadow-card); }
.lt-azulejo--azul[b-b57el0u52t]     { --cor: var(--lt-acc-azul); }
.lt-azulejo--ciano[b-b57el0u52t]    { --cor: var(--lt-acc-ciano); }
.lt-azulejo--laranja[b-b57el0u52t]  { --cor: var(--lt-acc-laranja); }
.lt-azulejo--violeta[b-b57el0u52t]  { --cor: var(--lt-acc-violeta); }
.lt-azulejo--vermelho[b-b57el0u52t] { --cor: var(--lt-acc-vermelho); }
.lt-azulejo--rosa[b-b57el0u52t]     { --cor: var(--lt-acc-rosa); }
.lt-azulejo--verde[b-b57el0u52t]    { --cor: var(--lt-acc-verde); }
.lt-azulejo--turquesa[b-b57el0u52t] { --cor: var(--lt-acc-turquesa); }
.lt-azulejo--cinza[b-b57el0u52t]    { --cor: var(--lt-acc-cinza); }
.lt-azulejo--castanho[b-b57el0u52t] { --cor: var(--lt-acc-castanho); }
.lt-azulejo--roxo[b-b57el0u52t]     { --cor: var(--lt-acc-roxo); }
/* _content/Logitools.Client.Shared/Components/Ui/LtEtiqueta.razor.rz.scp.css */
/* Etiqueta de categoria — bloco próprio `lt-etiqueta`. */
.lt-etiqueta[b-1ohq6toxs0] {
    display: inline-flex; align-items: center;
    padding: 2px 8px; border-radius: 6px;
    font-size: .72rem; font-weight: 600; line-height: 1.35; white-space: nowrap;
    color: var(--lt-ink-2); background: var(--lt-neutro-tint);
}
/* _content/Logitools.Client.Shared/Components/Ui/LtIcone.razor.rz.scp.css */
/* Ícone de traço — bloco próprio `lt-icone`: 1em, herda a cor do texto. */
.lt-icone[b-4yy863mvha] { width: 1em; height: 1em; flex: none; }
/* _content/Logitools.Client.Shared/Components/Ui/LtKanban.razor.rz.scp.css */
/* Quadro kanban — bloco próprio `lt-kanban`. */
.lt-kanban[b-sga6hz5r33] { display: flex; align-items: flex-start; gap: 12px; overflow-x: auto; padding-bottom: 8px; }
/* _content/Logitools.Client.Shared/Components/Ui/LtKanbanColuna.razor.rz.scp.css */
/* Coluna do quadro kanban — bloco próprio `lt-kanban`. Medidas do mockup (raio 12, 10 px por dentro).
   · A FAIXA: no mockup a coluna é um cinzento um pouco mais escuro que a página (#F2F2F5 sobre #F5F5F7); com as nossas
     cores o `--lt-neutro-tint` ficava igual ao fundo (#eef1f4 sobre #eef2f5) e os cartões flutuavam sem coluna à vista.
   · A LARGURA: as colunas repartem a largura toda (ecrã de trabalho = largura total) e, abaixo de 14rem cada, o quadro
     rola na horizontal em vez de as espremer (o mockup fixa 208 px e rola sempre). */
.lt-kanban__coluna[b-joi8g75r1k] {
    --faixa: color-mix(in srgb, var(--lt-line) 45%, var(--lt-bg));
    flex: 1 1 0; min-width: 14rem; display: flex; flex-direction: column; gap: 8px; min-height: 8rem; padding: 10px;
    background: var(--faixa); border-radius: 12px;
}
.lt-kanban__coluna.is-bom[b-joi8g75r1k] { background: color-mix(in srgb, var(--lt-success) 12%, var(--faixa)); }
.lt-kanban__coluna.is-critico[b-joi8g75r1k] { background: color-mix(in srgb, var(--lt-danger) 9%, var(--faixa)); }
.lt-kanban__cabeca[b-joi8g75r1k] { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 2px 4px 0; }
.lt-kanban__titulo[b-joi8g75r1k] {
    margin: 0; font-size: .7rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; color: var(--lt-ink-2);
}
.lt-kanban__conta[b-joi8g75r1k] {
    min-width: 1.4rem; padding: 0 6px; border-radius: 99px; text-align: center;
    font-size: .7rem; font-weight: 600; color: var(--lt-ink-2); background: var(--lt-surface); box-shadow: var(--lt-shadow-card);
}
.lt-kanban__resumo[b-joi8g75r1k] { margin: -2px 4px 2px; font-size: .72rem; color: var(--lt-muted); font-variant-numeric: tabular-nums; }
.lt-kanban__cartoes[b-joi8g75r1k] { display: flex; flex-direction: column; gap: 8px; }
.lt-kanban__vazio[b-joi8g75r1k] { margin: 0; padding: 8px 2px; font-size: .76rem; color: var(--lt-muted); }
/* Enquanto se arrasta: a coluna onde o cartão pode cair ganha o contorno da marca (e só essa). */
.lt-kanban__coluna.is-alvo[b-joi8g75r1k] { outline: 2px dashed var(--lt-brand); outline-offset: -2px; }
/* _content/Logitools.Client.Shared/Components/Ui/LtPageHead.razor.rz.scp.css */
/* Cabeçalho de página — bloco próprio `lt-pagehead`. Medidas do mockup do CRM (título 25 px/700, descrição 62ch). */
.lt-pagehead[b-rwbv6s533s] { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .75rem 1.25rem; margin-bottom: 1.1rem; }
.lt-pagehead__texto[b-rwbv6s533s] { flex: 1 1 22rem; min-width: 0; }
.lt-pagehead__titulo[b-rwbv6s533s] { margin: 0; font-size: 1.55rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; color: var(--lt-ink); }
.lt-pagehead__desc[b-rwbv6s533s] { margin: .4rem 0 0; max-width: 62ch; font-size: .84rem; line-height: 1.5; color: var(--lt-muted); }
.lt-pagehead__acoes[b-rwbv6s533s] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
/* _content/Logitools.Client.Shared/Components/Ui/LtPill.razor.rz.scp.css */
/* Pill de estado — bloco próprio `lt-pill` (UI-CONVENTIONS §2). Tamanhos do mockup do CRM (`.pill`). */
.lt-pill[b-jk7ebrhq7i] {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 9px; border-radius: 99px;
    font-size: .74rem; font-weight: 600; line-height: 1.3; white-space: nowrap;
}
.lt-pill[b-jk7ebrhq7i]::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--dot, currentColor); }
.lt-pill--bom[b-jk7ebrhq7i]     { color: var(--lt-success-ink); background: var(--lt-success-tint); --dot: var(--lt-success); }
.lt-pill--aviso[b-jk7ebrhq7i]   { color: var(--lt-warning-ink); background: var(--lt-warning-tint); --dot: var(--lt-warning); }
.lt-pill--critico[b-jk7ebrhq7i] { color: var(--lt-danger-ink);  background: var(--lt-danger-tint);  --dot: var(--lt-danger); }
.lt-pill--info[b-jk7ebrhq7i]    { color: var(--lt-info-ink);    background: var(--lt-info-tint);    --dot: var(--lt-info); }
.lt-pill--neutro[b-jk7ebrhq7i]  { color: var(--lt-ink-2);       background: var(--lt-neutro-tint);  --dot: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Components/Ui/LtSheet.razor.rz.scp.css */
/* Formulário em «sheet» — bloco próprio `lt-sheet`. Medidas do modal do mockup do CRM (raio 20, fundo desfocado,
   entrada de 0,28 s, campos agrupados em linhas de 11×14 px). */
.lt-sheet__fundo[b-7nn8qmtuxd] {
    position: fixed; inset: 0; z-index: 60;
    display: flex; align-items: center; justify-content: center; padding: 20px;
    background: rgba(0, 0, 0, .32);
    backdrop-filter: blur(6px) saturate(160%); -webkit-backdrop-filter: blur(6px) saturate(160%);
}
.lt-sheet[b-7nn8qmtuxd] {
    width: 100%; max-width: 480px; max-height: 90vh; overflow-y: auto;
    background: var(--lt-surface); border-radius: 20px; box-shadow: var(--lt-shadow-lg);
    animation: lt-sheet-entra-b-7nn8qmtuxd .28s cubic-bezier(.25, .9, .4, 1.1);
}
.lt-sheet.lt-sheet--largo[b-7nn8qmtuxd] { max-width: 760px; }
.lt-sheet:focus[b-7nn8qmtuxd] { outline: none; }
.lt-sheet:focus-visible[b-7nn8qmtuxd] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
@keyframes lt-sheet-entra-b-7nn8qmtuxd { from { opacity: 0; transform: scale(.94) translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lt-sheet[b-7nn8qmtuxd] { animation: none; } }
.lt-sheet__sentinela[b-7nn8qmtuxd] { position: absolute; width: 1px; height: 1px; overflow: hidden; }

.lt-sheet__cabeca[b-7nn8qmtuxd] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 12px; }
.lt-sheet__titulo[b-7nn8qmtuxd] { margin: 0; font-size: 1.06rem; font-weight: 700; letter-spacing: -.01em; color: var(--lt-ink); }
.lt-sheet__sub[b-7nn8qmtuxd] { margin: 3px 0 0; font-size: .78rem; color: var(--lt-muted); }
.lt-sheet__fechar[b-7nn8qmtuxd] {
    flex: none; display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border: 0; border-radius: 50%;
    background: var(--lt-neutro-tint); color: var(--lt-muted); font-size: 16px; line-height: 1; cursor: pointer;
}
.lt-sheet__fechar:hover[b-7nn8qmtuxd] { background: var(--lt-line); color: var(--lt-ink); }
.lt-sheet__fechar:focus-visible[b-7nn8qmtuxd] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }

.lt-sheet__corpo[b-7nn8qmtuxd] { display: flex; flex-direction: column; gap: 14px; padding: 2px 20px 20px; }

/* Os campos agrupados (o grupo de definições do iOS): cada controlo da casa numa linha, rótulo à esquerda e valor à
   direita, sem caixa à volta. O foco lê-se no fundo da linha. */
.lt-sheet__campos[b-7nn8qmtuxd] { display: flex; flex-direction: column; overflow: hidden; background: var(--lt-neutro-tint); border-radius: 12px; }
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-field {
    display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 14px;
    margin: 0; padding: 11px 14px; border-bottom: 1px solid var(--lt-line);
}
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-field:focus-within { background: var(--lt-brand-tint); }
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-field__label {
    flex: 0 0 auto; font-size: .83rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--lt-ink);
}
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-ctl {
    flex: 1 1 8rem; min-width: 0; min-height: 0; height: auto; padding: 2px 0;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
    font-size: .83rem; color: var(--lt-ink); text-align: right;
}
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-ctl:focus { outline: none; box-shadow: none; }
.lt-sheet__campos[b-7nn8qmtuxd]  textarea.lt-ctl { flex-basis: 100%; min-height: 3.2rem; text-align: left; resize: vertical; }
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-ctl::placeholder { color: var(--lt-muted); }
/* A data (LtDate): o campo e o botão do calendário vivem num invólucro — é ele que ocupa a linha, e o campo guarda o espaço do botão
   (a regra .lt-ctl acima tirava-lho, e o ícone ficava por cima do ano). */
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-data { flex: 1 1 8rem; min-width: 0; justify-content: flex-end; }
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-data .lt-data__campo { padding-right: 2.2rem; }
/* A hora (LtHora, input type=time): o Safari desenha os campos da hora à esquerda da caixa e ignora o text-align (nem o
   ::-webkit-date-and-time-value chegou — visto no Safari do dono, 2026-10-09). O campo deixa de esticar e encosta-se à direita:
   o arranjo da linha, e não um pseudo-elemento de um motor, decide onde fica. */
.lt-sheet__campos[b-7nn8qmtuxd]  input[type="time"].lt-ctl { flex: 0 0 auto; width: auto; margin-left: auto; }
/* O cliente (LtClientePick): uma linha como as outras — o rótulo à esquerda, sem maiúsculas, e o campo a ocupar o resto. */
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-pick {
    display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0; padding: 8px 14px;
    border-bottom: 1px solid var(--lt-line);
}
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-pick > span:first-child {
    flex: 0 0 auto; font-size: .83rem; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--lt-ink);
}
.lt-sheet__campos[b-7nn8qmtuxd]  .lt-pick .lt-pick__group { flex: 1 1 14rem; min-width: 0; }

.lt-sheet__acoes[b-7nn8qmtuxd] { display: flex; justify-content: flex-end; gap: 10px; }
.lt-sheet__cancelar.lt-btn[b-7nn8qmtuxd] { border-color: transparent; background: var(--lt-neutro-tint); }
.lt-sheet__cancelar.lt-btn:hover:not(:disabled)[b-7nn8qmtuxd] { background: var(--lt-line); }
/* _content/Logitools.Client.Shared/Components/Ui/LtToastHost.razor.rz.scp.css */
/* Aviso passageiro — bloco próprio `lt-toast`. O «pill» escuro do fundo do ecrã, como no mockup do CRM. */
.lt-toast__regiao[b-pfrsgff5n7] { position: fixed; left: 50%; bottom: 24px; z-index: 80; transform: translateX(-50%); pointer-events: none; }
.lt-toast[b-pfrsgff5n7] {
    display: inline-flex; align-items: center; gap: 12px;
    max-width: min(80vw, 560px); padding: 10px 10px 10px 18px; border-radius: 99px;
    color: #fff; background: color-mix(in srgb, var(--lt-ink) 92%, transparent);
    box-shadow: var(--lt-shadow-lg); backdrop-filter: blur(10px);
    font-size: .82rem; line-height: 1.4;
    pointer-events: auto;
    animation: lt-toast-entra-b-pfrsgff5n7 .22s cubic-bezier(.3, 1, .4, 1);
}
.lt-toast.is-critico[b-pfrsgff5n7] { background: var(--lt-danger-ink); }
.lt-toast__texto[b-pfrsgff5n7] { flex: 1; }
.lt-toast__fechar[b-pfrsgff5n7] {
    flex: none; width: 24px; height: 24px; border: 0; border-radius: 50%;
    background: color-mix(in srgb, #fff 18%, transparent); color: #fff; font-size: 15px; line-height: 1; cursor: pointer;
}
.lt-toast__fechar:hover[b-pfrsgff5n7] { background: color-mix(in srgb, #fff 28%, transparent); }
.lt-toast__fechar:focus-visible[b-pfrsgff5n7] { outline: 2px solid #fff; outline-offset: 2px; }
@keyframes lt-toast-entra-b-pfrsgff5n7 { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lt-toast[b-pfrsgff5n7] { animation: none; } }
/* _content/Logitools.Client.Shared/Components/WorkHeader.razor.rz.scp.css */
.lt-wh[b-n5obrtbsco] {
    min-height: var(--lt-wh-h, 64px);
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0 1rem;
    background: var(--lt-header);
    color: var(--lt-header-ink);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
    font-family: var(--lt-font);
    flex-shrink: 0;
}

.lt-wh__left[b-n5obrtbsco],
.lt-wh__right[b-n5obrtbsco] {
    min-width: 0;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: .75rem;
}

.lt-wh__right[b-n5obrtbsco] {
    justify-content: flex-end;
}

.lt-wh__back[b-n5obrtbsco],
.lt-wh__logout[b-n5obrtbsco] {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    color: var(--lt-header-ink);
    cursor: pointer;
}

.lt-wh__back[b-n5obrtbsco] { font-size: 1rem; }
.lt-wh__logout[b-n5obrtbsco] { font-size: 1.1rem; }

/* Account menu (dropdown on the ⏻ button): switch store / sign out. */
.lt-wh__usermenu[b-n5obrtbsco] { position: relative; flex: 0 0 auto; }
.lt-wh__menubackdrop[b-n5obrtbsco] { position: fixed; inset: 0; z-index: 80; background: transparent; }
.lt-wh__menu[b-n5obrtbsco] {
    position: absolute; top: calc(100% + .5rem); right: 0; z-index: 81;
    min-width: 220px; padding: .35rem;
    background: var(--lt-surface); color: var(--lt-ink);
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    box-shadow: var(--lt-shadow-lg);
    display: flex; flex-direction: column; gap: .1rem;
}
.lt-wh__menuitem[b-n5obrtbsco] {
    display: flex; align-items: center; gap: .55rem;
    width: 100%; padding: .55rem .7rem; border: none; border-radius: 6px;
    background: transparent; color: var(--lt-ink); font-family: var(--lt-font);
    font-size: .9rem; font-weight: 600; text-align: left; cursor: pointer;
}
.lt-wh__menuitem:hover[b-n5obrtbsco] { background: var(--lt-surface-2); }

/* Língua no menu de conta (i18n) */
.lt-wh__menulang[b-n5obrtbsco] {
    display: flex; align-items: center; gap: .35rem; padding: .45rem .8rem;
    border-top: 1px solid var(--lt-line); font-size: .85rem; color: var(--lt-muted);
}
.lt-wh__langopt[b-n5obrtbsco] {
    padding: .15rem .5rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); font-size: .68rem; font-weight: 800; letter-spacing: .04em;
    color: var(--lt-muted); cursor: pointer;
}
.lt-wh__langopt:hover[b-n5obrtbsco] { border-color: var(--lt-brand); color: var(--lt-brand-700); }
.lt-wh__langopt.is-active[b-n5obrtbsco] { background: var(--lt-brand); border-color: var(--lt-brand); color: #fff; }
.lt-wh__menuitem--danger[b-n5obrtbsco] { color: var(--lt-danger); }
.lt-wh__menuitem--danger:hover[b-n5obrtbsco] { background: var(--lt-danger-tint); }

/* Badge da loja (loja.multi): READ-ONLY — valida a loja ATIVA; a troca vive no menu do utilizador
   (⏻ → Trocar loja). Sem hover/cursor de clique (pedido do dono, 2026-07-14). */
.lt-wh__storebadge[b-n5obrtbsco] {
    display: flex; align-items: center; gap: .45rem;
    padding: .35rem .7rem;
    border: 1px solid var(--lt-brand);
    border-radius: 999px;
    background: rgba(22, 171, 222, .14);
    color: var(--lt-header-ink);
    font: inherit; font-size: .85rem;
}
.lt-wh__storebadge strong[b-n5obrtbsco] { font-weight: 700; }
.lt-wh__storedot[b-n5obrtbsco] { width: 8px; height: 8px; border-radius: 50%; background: var(--lt-brand); }
.lt-wh__menuitem.is-current[b-n5obrtbsco] { color: var(--lt-brand-700); font-weight: 800; opacity: 1; }
.lt-wh__menuitem--go[b-n5obrtbsco] { color: var(--lt-brand-700); }
.lt-wh__menuitem--go:hover[b-n5obrtbsco] { background: var(--lt-brand-tint); }
.lt-wh__confirmtext[b-n5obrtbsco] { margin: .4rem .7rem; font-size: .88rem; color: var(--lt-ink); line-height: 1.35; }
.lt-wh__confirmtext small[b-n5obrtbsco] { color: var(--lt-muted); }
.lt-wh__confirmerr[b-n5obrtbsco] { margin: 0 .7rem .3rem; font-size: .8rem; color: var(--lt-danger); }
.lt-wh__confirmrow[b-n5obrtbsco] { display: flex; gap: .25rem; padding: 0 .35rem .35rem; }
.lt-wh__confirmrow .lt-wh__menuitem[b-n5obrtbsco] { justify-content: center; }

/* Keep the back button's footprint even when there is nowhere to go back to. */
.lt-wh__back.is-hidden[b-n5obrtbsco] { visibility: hidden; }

.lt-wh__back:hover[b-n5obrtbsco] { background: var(--lt-brand); }
.lt-wh__logout:hover[b-n5obrtbsco] { background: var(--lt-danger); color: #fff; }

.lt-wh__logo[b-n5obrtbsco] {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
}

.lt-wh__title[b-n5obrtbsco] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.lt-wh__title span[b-n5obrtbsco],
.lt-wh__context span[b-n5obrtbsco],
.lt-wh__extra[b-n5obrtbsco] {
    color: rgba(238, 243, 246, .64);
    font-size: .72rem;
}

.lt-wh__title span[b-n5obrtbsco] {
    text-transform: uppercase;
    letter-spacing: .06em;
}

.lt-wh__title strong[b-n5obrtbsco] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.05rem;
    font-weight: 800;
}

/* Section-tab band — the flexible middle; hosts slotted tabs (e.g. the Painel pages).
   Scrolls horizontally if it runs out of room. Tab styling is global (.lt-wh__tab in
   theme.css) so tabs authored by the hosting page pick it up regardless of CSS scope. */
.lt-wh__nav[b-n5obrtbsco] {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .3rem;
    overflow-x: auto;
    scrollbar-width: none;
}
.lt-wh__nav[b-n5obrtbsco]::-webkit-scrollbar { display: none; }

.lt-wh__search[b-n5obrtbsco] {
    flex: 0 0 auto;
    width: clamp(180px, 22vw, 280px);
}

/* Anchor the search dropdown to the right so it never overflows the viewport edge. */
.lt-wh__search[b-n5obrtbsco]  .lt-gs__panel {
    left: auto;
    right: 0;
}

.lt-wh__context[b-n5obrtbsco] {
    min-width: 0;
    max-width: 240px;
    display: flex;
    flex-direction: column;
    text-align: right;
    line-height: 1.2;
}

.lt-wh__context strong[b-n5obrtbsco],
.lt-wh__context span[b-n5obrtbsco],
.lt-wh__extra[b-n5obrtbsco] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lt-wh__context strong[b-n5obrtbsco] {
    font-size: .9rem;
    font-weight: 700;
}

.lt-wh__extra[b-n5obrtbsco] {
    flex: 0 0 auto;
    text-align: right;
}

/* ── Estreito: a NAVEGAÇÃO nunca desaparece nem transborda ────────────────────────────────────

   A HISTÓRIA, porque cada passo parecia certo e não era (tudo medido no browser):
   1. (antes de 2026-09-22) `.lt-wh__nav { display: none }` abaixo de 860px, e a pesquisa escondida
      abaixo de 560px. Juntas tiravam as DUAS maneiras de mudar de secção: a 827px ficava-se preso
      na secção em que se entrou. Sem erro, só ausência.
   2. (2026-09-22, 1.ª correcção) tirar o `display: none` deu uma barra de LARGURA ZERO — o resto do
      cabeçalho é `flex: 0 0 auto` e não sobrava espaço. Escondida ou com zero de largura é o mesmo.
   3. (2026-09-22, 2.ª correcção) um piso de `min-width: 10rem`. Cabia a 827px, onde se testou. A
      643px (2026-09-23) o cabeçalho pedia 812px: a página ganhava rolagem horizontal e o Voltar e o
      título saíam do ecrã. E o piso era reservado mesmo em páginas SEM secções (a barra vazia).
   A lição: numa linha só não cabe tudo em todas as larguras — ou se esconde, ou se transborda.

   A RESPOSTA é o padrão de sempre dos cabeçalhos com separadores: quando não cabe, as secções
   ganham UMA LINHA PRÓPRIA, com a largura inteira, por baixo do título. Nada se esconde, nada
   transborda, e a barra continua a rolar na horizontal se as secções forem muitas. Só a barra COM
   secções muda de linha (`:not(:empty)`): numa página sem elas não ocupa nada.

   ⚠️ As sobreposições que começam em `top: var(--lt-wh-h)` (64px: .lt-fx2, gaveta dos Stocks) não
   acompanham a 2.ª linha — hoje só abrem em páginas SEM secções, onde o cabeçalho fica numa linha.
   Se uma página com secções passar a ter uma, é aí que se mexe.

   PORQUÊ 1200px (medido no painel, 2026-09-23): em linha única a barra fica com o que sobra — 104px a
   1001px (uma secção à vista de cada vez), ~260px a 1200, 323px a 1280, 409px a 1366, 484px a 1440.
   Abaixo de 1200 vale mais dar-lhe a linha inteira do que poupar 32px de altura. */
@media (max-width: 1200px) {
    .lt-wh[b-n5obrtbsco] { flex-wrap: wrap; row-gap: .35rem; padding-top: .45rem; padding-bottom: .45rem; }
    .lt-wh__nav:not(:empty)[b-n5obrtbsco] { order: 3; flex: 1 0 100%; min-width: 0; }
    .lt-wh__right[b-n5obrtbsco] { margin-left: auto; }
}

@media (max-width: 860px) {
    .lt-wh__search[b-n5obrtbsco] { width: clamp(140px, 30vw, 200px); }
    .lt-wh__extra[b-n5obrtbsco] { display: none; }

    /* O nome e o grupo do utilizador saem primeiro. É prioridade, não poupança: quem eu sou está a
       um clique no menu da conta, e o que importa validar num balcão — em que LOJA estou — fica no
       crachá da loja, que não se mexe daqui. */
    .lt-wh__context[b-n5obrtbsco] { display: none; }
}

/* O relógio é o que menos falta faz numa janela estreita (o sistema operativo mostra as horas).
   Medido a 643px: sem ele a linha do título cabe; com ele passava 9px. */
@media (max-width: 700px) {
    .lt-wh__clock[b-n5obrtbsco] { display: none; }
}

/* Muito estreito: cai a pesquisa. As secções FICAM — na sua linha — e são a navegação que resta. */
@media (max-width: 560px) {
    .lt-wh__search[b-n5obrtbsco] { display: none; }
}
/* _content/Logitools.Client.Shared/Pages/Administracao.razor.rz.scp.css */
.lt-adm[b-suu8ocaw1c] { min-height: 100vh; display: flex; flex-direction: column; background: var(--lt-bg); font-family: var(--lt-font); }

.lt-adm__layout[b-suu8ocaw1c] { flex: 1; display: grid; grid-template-columns: 230px 1fr; gap: 0; min-height: 0; }
@media (max-width: 860px) { .lt-adm__layout[b-suu8ocaw1c] { grid-template-columns: 1fr; } }

/* Sidebar (padrão Entra/Keycloak): âmbito + secções por persona */
.lt-adm__nav[b-suu8ocaw1c] {
    background: var(--lt-surface); border-right: 1px solid var(--lt-line);
    padding: 1rem .8rem; display: flex; flex-direction: column; gap: .25rem;
}
/* Scope switcher (Plataforma vs Empresa) — acento de cor evita editar o âmbito errado */
.lt-adm__scopebar[b-suu8ocaw1c] {
    display: flex; flex-direction: column; gap: .3rem; margin-bottom: .9rem;
    padding: .55rem .6rem; border-radius: var(--lt-radius-sm); border: 1px solid var(--lt-line);
}
.lt-adm__scopebar.is-platform[b-suu8ocaw1c] { background: #eef3ff; border-color: #c7d6ff; }
.lt-adm__scopebar.is-company[b-suu8ocaw1c]  { background: var(--lt-brand-tint); border-color: var(--lt-brand); }
.lt-adm__scopelabel[b-suu8ocaw1c] { font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--lt-muted); }
.lt-adm__scopesel[b-suu8ocaw1c] {
    box-sizing: border-box; padding: .4rem 1.7rem .4rem .5rem;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    font: inherit; font-size: .88rem; font-weight: 600;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    background-color: var(--lt-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%237a8590' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .5rem center; background-size: 11px 7px;
}
.lt-adm__scopefixed[b-suu8ocaw1c] { font-size: .92rem; font-weight: 800; color: var(--lt-brand-700); }
.lt-adm__navitem[b-suu8ocaw1c] {
    display: flex; align-items: center; gap: .5rem; width: 100%; text-align: left;
    padding: .5rem .6rem; border: none; border-radius: var(--lt-radius-sm);
    background: transparent; font-size: .88rem; color: var(--lt-ink); cursor: pointer;
}
.lt-adm__navitem:hover[b-suu8ocaw1c] { background: var(--lt-surface-2); }
.lt-adm__navitem.is-active[b-suu8ocaw1c] { background: var(--lt-brand-tint); color: var(--lt-brand-700); font-weight: 700; }
.lt-adm__navnote[b-suu8ocaw1c] { margin-top: auto; font-size: .72rem; color: var(--lt-muted); line-height: 1.4; padding: .5rem .3rem 0; }

.lt-adm__content[b-suu8ocaw1c] { padding: 1.2rem clamp(1rem, 3vw, 2rem); min-width: 0; overflow-y: auto; }
.lt-adm__note[b-suu8ocaw1c] { color: var(--lt-muted); font-size: .88rem; }
/* _content/Logitools.Client.Shared/Pages/AlterarPassword.razor.rz.scp.css */
.lt-chpw[b-204sk9h827] {
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(160deg, var(--lt-brand) 0%, var(--lt-brand-600, #2a7fb8) 100%);
    font-family: var(--lt-font); padding: 1.5rem;
}
.lt-chpw__card[b-204sk9h827] {
    background: var(--lt-surface); border-radius: var(--lt-radius); box-shadow: var(--lt-shadow-lg, 0 18px 50px rgba(0,0,0,.3));
    padding: 2rem 2.2rem; width: min(420px, 100%);
}
.lt-chpw__brand[b-204sk9h827] { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.4rem; }
.lt-chpw__logo[b-204sk9h827] { width: 46px; height: 46px; }
.lt-chpw__brand h1[b-204sk9h827] { margin: 0; font-size: 1.05rem; color: var(--lt-ink); }
.lt-chpw__brand p[b-204sk9h827] { margin: .1rem 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-chpw__field[b-204sk9h827] { display: flex; flex-direction: column; gap: .3rem; margin-bottom: .9rem; }
.lt-chpw__field span[b-204sk9h827] { font-size: .8rem; font-weight: 700; color: var(--lt-ink); }
.lt-chpw__field input[b-204sk9h827] {
    height: 42px; padding: 0 .7rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font: inherit;
}
.lt-chpw__field input:focus[b-204sk9h827] { outline: none; border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-chpw__error[b-204sk9h827] {
    margin-bottom: .9rem; padding: .55rem .7rem; border-radius: var(--lt-radius-sm);
    background: var(--lt-danger-tint, #fdecea); color: var(--lt-danger, #b3261e); font-size: .84rem;
}
.lt-chpw__btn[b-204sk9h827] {
    width: 100%; height: 44px; border: none; border-radius: var(--lt-radius-sm);
    background: var(--lt-brand); color: #fff; font-size: .95rem; font-weight: 700; cursor: pointer;
}
.lt-chpw__btn:hover[b-204sk9h827] { filter: brightness(1.05); }
.lt-chpw__btn:disabled[b-204sk9h827] { opacity: .6; cursor: default; }
/* _content/Logitools.Client.Shared/Pages/Atendimento.razor.rz.scp.css */
.lt-at[b-tm5euidfbs] {
    height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--lt-bg);
    font-family: var(--lt-font);
    color: var(--lt-ink);
    outline: none;
    overflow: hidden;
}

/* ---- POS context bar ---- */
.lt-at__contextbar[b-tm5euidfbs] {
    min-height: 46px;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .45rem 1rem;
    background: var(--lt-surface);
    border-bottom: 1px solid var(--lt-line);
    flex-shrink: 0;
}

.lt-at__cliente[b-tm5euidfbs] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.lt-at__utlabel[b-tm5euidfbs] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--lt-muted);
}

.lt-at__utname[b-tm5euidfbs] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.05rem;
    font-weight: 800;
}

.lt-at__call[b-tm5euidfbs] {
    min-height: 36px;
    padding: .45rem .9rem;
    border: 1px solid rgba(25, 174, 216, .28);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-weight: 700;
    cursor: pointer;
}

.lt-at__call:hover[b-tm5euidfbs] {
    background: var(--lt-brand);
    border-color: var(--lt-brand);
    color: #fff;
}

.lt-at__headertools[b-tm5euidfbs] {
    display: flex;
    align-items: center;
    gap: .55rem;
}

.lt-at__headerstatus[b-tm5euidfbs] {
    display: flex;
    flex-direction: column;
    line-height: 1.12;
}

.lt-at__headerstatus span[b-tm5euidfbs] {
    color: rgba(238, 243, 246, .66);
    font-size: .72rem;
}

.lt-at__headerstatus strong[b-tm5euidfbs] {
    color: #fff;
    font-size: 1rem;
}

/* Ações à direita da barra de contexto: menu de opções (☰) + Chamar próximo. */
.lt-at__contextactions[b-tm5euidfbs] {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex: 0 0 auto;
}

.lt-at__opmenu[b-tm5euidfbs] {
    position: relative;
    flex: 0 0 auto;
}

.lt-at__optrigger[b-tm5euidfbs] {
    width: 42px;
    min-height: 36px;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    color: var(--lt-ink);
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.lt-at__optrigger:hover[b-tm5euidfbs] {
    background: var(--lt-brand);
    border-color: var(--lt-brand);
    color: #fff;
}

.lt-at__opflyout[b-tm5euidfbs] {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 30;
    min-width: 260px;
    padding: .35rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .16);
}

.lt-at__opflyout button[b-tm5euidfbs] {
    width: 100%;
    min-height: 54px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: .12rem;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--lt-ink);
    text-align: left;
    padding: .55rem .65rem;
    cursor: pointer;
}

.lt-at__opflyout button:hover[b-tm5euidfbs] {
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
}

.lt-at__opflyout span[b-tm5euidfbs] {
    font-size: .92rem;
    font-weight: 800;
}

.lt-at__credito[b-tm5euidfbs] { margin: .45rem 0 0; color: var(--lt-muted); font-size: .8rem; }

.lt-at__opflyout small[b-tm5euidfbs] {
    color: var(--lt-muted);
    font-size: .74rem;
}

/* ---- Main split ---- */
.lt-at__main[b-tm5euidfbs] { flex: 1; display: flex; gap: .75rem; padding: .75rem; min-height: 0; overflow: hidden; }
.lt-at__lines[b-tm5euidfbs] { flex: 1; display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.lt-at__panel[b-tm5euidfbs] {
    width: clamp(340px, 26vw, 420px);
    flex-shrink: 0;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius);
    padding: .75rem;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: .65rem;
    min-height: 0;
}

/* ---- Scanner / search ---- */
.lt-at__scanbar[b-tm5euidfbs] { position: relative; margin-bottom: .5rem; }
.lt-at__scan[b-tm5euidfbs] {
    width: 100%; box-sizing: border-box; padding: .8rem 1rem; font-size: 1.05rem;
    border: 2px solid var(--lt-brand); border-radius: var(--lt-radius-sm);
}
.lt-at__scan:focus[b-tm5euidfbs] { outline: none; box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-at__lookup[b-tm5euidfbs] {
    position: absolute; z-index: 20; top: 100%; left: 0; right: 0; margin-top: 2px;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    box-shadow: var(--lt-shadow); max-height: 320px; overflow-y: auto;
}
.lt-at__lookitem[b-tm5euidfbs] {
    display: flex; align-items: center; gap: .75rem; width: 100%; text-align: left;
    padding: .5rem .7rem; border: none; border-bottom: 1px solid var(--lt-surface-2);
    background: transparent; cursor: pointer;
}
.lt-at__lookitem:hover[b-tm5euidfbs] { background: var(--lt-brand-tint); }
.lt-at__lookref[b-tm5euidfbs] { font-weight: 700; width: 90px; }
.lt-at__lookdesign[b-tm5euidfbs] { flex: 1; }
.lt-at__lookpvp[b-tm5euidfbs] { font-variant-numeric: tabular-nums; font-weight: 600; }

/* ---- Lines grid ---- */
.lt-at__gridwrap[b-tm5euidfbs] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius);
}
.lt-at__grid[b-tm5euidfbs] { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .98rem; }
.lt-at__grid col.col-design[b-tm5euidfbs] { width: auto; }
.lt-at__grid col.col-qty[b-tm5euidfbs] { width: 168px; }
.lt-at__grid col.col-money[b-tm5euidfbs] { width: 104px; }
.lt-at__grid col.col-disc[b-tm5euidfbs] { width: 104px; }
.lt-at__grid col.col-total[b-tm5euidfbs] { width: 116px; }
.lt-at__grid col.col-act[b-tm5euidfbs] { width: 56px; }
.lt-at__grid th[b-tm5euidfbs] {
    position: sticky; top: 0; background: var(--lt-surface); text-align: left;
    font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; color: var(--lt-muted);
    padding: .62rem .75rem; border-bottom: 2px solid var(--lt-line); z-index: 2;
}
.lt-at__grid td[b-tm5euidfbs] { height: 64px; padding: .5rem .75rem; border-bottom: 1px solid var(--lt-surface-2); vertical-align: middle; }
.lt-at__grid tbody tr[b-tm5euidfbs] { cursor: pointer; }
.lt-at__grid tbody tr:hover[b-tm5euidfbs] { background: var(--lt-surface-2); }
.lt-at__grid tbody tr.is-sel[b-tm5euidfbs] { background: var(--lt-brand-tint); box-shadow: inset 3px 0 0 var(--lt-brand); }
.c-design[b-tm5euidfbs] { min-width: 0; }
.c-name[b-tm5euidfbs] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
}
.c-ref[b-tm5euidfbs] { display: block; margin-top: .16rem; font-size: .78rem; color: var(--lt-muted); }
.c-num[b-tm5euidfbs] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-at__grid th.c-num[b-tm5euidfbs] { text-align: right; }
.c-muted[b-tm5euidfbs] { color: var(--lt-muted); }
.c-tot[b-tm5euidfbs] { font-weight: 700; }
/* Quantity −/+ stepper: large touch targets flanking an editable value. */
.lt-at__stepper[b-tm5euidfbs] { display: flex; align-items: center; justify-content: flex-end; gap: .3rem; }
.lt-at__step[b-tm5euidfbs] {
    flex: 0 0 auto;
    width: 44px; height: 44px;
    border: 1px solid var(--lt-line);
    border-radius: 10px;
    background: var(--lt-surface-2);
    color: var(--lt-ink);
    font-size: 1.5rem; font-weight: 700; line-height: 1;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    -webkit-user-select: none; user-select: none;
}
.lt-at__step:hover[b-tm5euidfbs] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-brand-700); }
.lt-at__step:active[b-tm5euidfbs] { transform: scale(.94); }

.lt-at__qty[b-tm5euidfbs] {
    width: 52px; height: 44px; box-sizing: border-box; text-align: center;
    padding: .35rem .2rem; border: 1px solid var(--lt-line); border-radius: 8px;
    font-size: 1.1rem; font-weight: 700; font-variant-numeric: tabular-nums; background: var(--lt-surface);
}
.lt-at__disc[b-tm5euidfbs] {
    width: 100%; max-width: 84px; height: 44px; box-sizing: border-box; text-align: right;
    padding: .35rem .45rem; border: 1px solid var(--lt-line); border-radius: 8px;
    font-size: 1.05rem; font-weight: 700; font-variant-numeric: tabular-nums; background: var(--lt-surface);
    margin-left: auto;
}
.lt-at__qty:focus[b-tm5euidfbs], .lt-at__disc:focus[b-tm5euidfbs] { outline: none; border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }

/* Seletor de lote (FEFO) na linha — só para artigos com controlo de lote */
.lt-at__lote[b-tm5euidfbs] {
    display: block; margin-top: .25rem; max-width: 280px; height: 30px;
    padding: 0 .4rem; border: 1px solid var(--lt-line); border-radius: 8px;
    font-size: .78rem; font-weight: 600; background: var(--lt-surface); color: var(--lt-ink);
}
.lt-at__lote:focus[b-tm5euidfbs] { outline: none; border-color: var(--lt-brand); box-shadow: 0 0 0 3px var(--lt-brand-glow); }
.lt-at__lote.is-missing[b-tm5euidfbs] { border-color: var(--lt-danger); background: var(--lt-danger-tint); }

/* Per-row remove — one tap. */
.c-act[b-tm5euidfbs] { text-align: center; padding: 0 !important; }
.lt-at__rowdel[b-tm5euidfbs] {
    width: 40px; height: 40px; border: none; border-radius: 10px;
    background: transparent; color: var(--lt-muted); font-size: 1rem; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
}
.lt-at__rowdel:hover[b-tm5euidfbs] { background: var(--lt-danger-tint); color: var(--lt-danger); }

/* Campanha aplicada na linha (Campanhas C1) — informação, não ação: tom «info», sem competir com o total. */
.lt-at__campanha[b-tm5euidfbs] { display: inline-block; margin-top: 2px; padding: 0 6px; border-radius: 999px;
    font-size: 11px; line-height: 18px; color: var(--lt-info-ink); background: var(--lt-info-tint); }

/* Kill native number spinners anywhere in the POS grid (touch: unusable). */
.lt-at__grid input[type="number"][b-tm5euidfbs]::-webkit-outer-spin-button,
.lt-at__grid input[type="number"][b-tm5euidfbs]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lt-at__grid input[type="number"][b-tm5euidfbs] { -moz-appearance: textfield; appearance: textfield; }

.lt-at__empty[b-tm5euidfbs] { text-align: center; color: var(--lt-muted); padding: 2rem; }

/* O cabeçalho de cada venda (multivenda): uma linha de grupo, como as de uma tabela agrupada (SAP Fiori) — mais baixa do que as
   linhas, no fundo da superfície 2, com o rótulo (o nº da receita ou «Venda N»), o cliente e o total da venda. A venda ATUAL (onde
   entra o que se lê) leva a barra de marca à esquerda — o mesmo sinal da linha selecionada: é estado acionável, não decoração. */
.lt-at__grid tbody tr.lt-at__vendahead td[b-tm5euidfbs] {
    height: 44px;
    background: var(--lt-surface-2);
    border-top: 1px solid var(--lt-line);
    border-bottom: 1px solid var(--lt-line);
}
.lt-at__grid tbody tr.lt-at__vendahead:first-child td[b-tm5euidfbs] { border-top: none; }
.lt-at__grid tbody tr.lt-at__vendahead.is-atual td:first-child[b-tm5euidfbs] { box-shadow: inset 3px 0 0 var(--lt-brand); }
.lt-at__grid tbody tr.lt-at__vendahead.is-sel td[b-tm5euidfbs] { background: var(--lt-brand-tint); }
.lt-at__vendainfo[b-tm5euidfbs] { display: flex; align-items: baseline; gap: .75rem; min-width: 0; white-space: nowrap; }
.lt-at__vendarotulo[b-tm5euidfbs] { font-weight: 700; font-variant-numeric: tabular-nums; }
.lt-at__vendacliente[b-tm5euidfbs] { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--lt-ink-2); }
.lt-at__vendaplano[b-tm5euidfbs] { flex: 0 0 auto; font-size: .78rem; color: var(--lt-muted); }
.lt-at__vendavazia .lt-at__empty[b-tm5euidfbs] { padding: 1rem; height: auto; }

/* ---- Totals + action bar ---- */
.lt-at__actions[b-tm5euidfbs] {
    display: flex; align-items: center; gap: 1rem; margin-top: .5rem; padding: .55rem .75rem;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius);
    flex-shrink: 0;
}
.lt-at__totals[b-tm5euidfbs] { display: flex; align-items: center; gap: 1.25rem; flex: 1; }
.lt-at__totals > div[b-tm5euidfbs] { display: flex; flex-direction: column; }
.lt-at__totals span[b-tm5euidfbs] { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; color: var(--lt-muted); }
.lt-at__totals strong[b-tm5euidfbs] { font-size: 1rem; font-variant-numeric: tabular-nums; }
.lt-at__totcliente strong[b-tm5euidfbs] { font-size: 1.35rem; color: var(--lt-brand-700); }
.lt-at__keys[b-tm5euidfbs] { display: flex; gap: .35rem; }
.lt-at__keys button[b-tm5euidfbs] {
    min-height: 42px;
    padding: .5rem .8rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font-weight: 700; font-size: .86rem; cursor: pointer;
}
.lt-at__keys button:hover[b-tm5euidfbs] { background: var(--lt-surface-2); }
.lt-at__keys .is-danger[b-tm5euidfbs] { color: var(--lt-danger); border-color: var(--lt-danger); }
.lt-at__keys .is-danger:hover[b-tm5euidfbs] { background: var(--lt-danger-tint); }
.lt-at__keys .is-primary[b-tm5euidfbs] { background: var(--lt-brand); color: #fff; border-color: var(--lt-brand); }
.lt-at__keys .is-primary:hover[b-tm5euidfbs] { background: var(--lt-brand-600); }

/* ---- Right checkout rail ---- */
.lt-at__customer[b-tm5euidfbs],
.lt-at__railtotal[b-tm5euidfbs],
.lt-at__panelbody[b-tm5euidfbs],
.lt-at__panelactions[b-tm5euidfbs] {
    min-width: 0;
}

.lt-at__customer[b-tm5euidfbs] {
    padding: .75rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
}

.lt-at__paneltitle[b-tm5euidfbs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.lt-at__paneltitle div[b-tm5euidfbs] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.lt-at__paneltitle span[b-tm5euidfbs],
.lt-at__railtotal > span[b-tm5euidfbs],
.lt-at__customergrid span[b-tm5euidfbs],
.lt-at__railmeta span[b-tm5euidfbs],
.lt-at__paysummary span[b-tm5euidfbs] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--lt-muted);
}

.lt-at__paneltitle strong[b-tm5euidfbs] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 1.05rem;
}

.lt-at__paneltitle button[b-tm5euidfbs] {
    width: 48px;
    height: 44px;
    border: 1px solid var(--lt-brand);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-weight: 900;
    cursor: pointer;
}

.lt-at__paneltitle button:hover[b-tm5euidfbs] { background: var(--lt-brand); color: #fff; }

.lt-at__customergrid[b-tm5euidfbs] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem .65rem;
    margin-top: .65rem;
}

/* A entidade de faturação: uma linha discreta quando é o próprio; realçada (o tom de marca) quando o documento vai para
   outra ficha — o mesmo sinal que o Fox dava com o fundo azul-claro (pagamento.prg:12825-12836). */
.lt-at__entfact[b-tm5euidfbs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .5rem;
    margin-top: .55rem;
    padding: .35rem .5rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-size: .82rem;
}

.lt-at__entfact span[b-tm5euidfbs] {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--lt-muted);
}

.lt-at__entfact b[b-tm5euidfbs] {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

/* Para quem é a venda (multivenda §7): a mesma forma da «Faturar a»; realçada (o tom de marca) quando é para outra pessoa. */
.lt-at__vendapara[b-tm5euidfbs] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .5rem;
    margin-top: .55rem;
    padding: .35rem .5rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-size: .82rem;
}
.lt-at__vendapara span[b-tm5euidfbs] { font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; color: var(--lt-muted); }
.lt-at__vendapara b[b-tm5euidfbs] { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.lt-at__vendapara.is-outra[b-tm5euidfbs] { border-color: var(--lt-brand); background: var(--lt-brand-tint); }
.lt-at__vendapara button[b-tm5euidfbs] {
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    color: var(--lt-ink-2);
    font-size: .78rem;
    padding: .2rem .55rem;
    cursor: pointer;
}
.lt-at__vendapara button:hover[b-tm5euidfbs] { border-color: var(--lt-brand); color: var(--lt-brand-700); }
.lt-at__vendapara button:focus-visible[b-tm5euidfbs] { outline: 2px solid var(--lt-brand-700); outline-offset: 1px; }

.lt-at__entfact.is-outra[b-tm5euidfbs] {
    border-color: var(--lt-brand);
    background: var(--lt-brand-tint);
}

.lt-at__entfact button[b-tm5euidfbs] {
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    color: var(--lt-ink-2);
    font-size: .78rem;
    padding: .2rem .55rem;
    cursor: pointer;
}

.lt-at__entfact button:hover[b-tm5euidfbs] { border-color: var(--lt-brand); color: var(--lt-brand-700); }
.lt-at__entfact button:focus-visible[b-tm5euidfbs] { outline: 2px solid var(--lt-brand-700); outline-offset: 1px; }

.lt-at__customergrid div[b-tm5euidfbs],
.lt-at__railmeta div[b-tm5euidfbs] {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.lt-at__customergrid b[b-tm5euidfbs],
.lt-at__railmeta b[b-tm5euidfbs] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .92rem;
    font-variant-numeric: tabular-nums;
}

.lt-at__railtotal[b-tm5euidfbs] {
    padding: .85rem;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand-tint);
    border: 1px solid rgba(21, 167, 216, .25);
}

.lt-at__railtotal > strong[b-tm5euidfbs] {
    display: block;
    margin-top: .1rem;
    color: var(--lt-brand-700);
    font-size: clamp(2rem, 3.2vw, 3.25rem);
    line-height: 1;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
}

.lt-at__railmeta[b-tm5euidfbs] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .4rem;
    margin-top: .8rem;
}

.lt-at__railmeta b[b-tm5euidfbs] { font-size: .9rem; }

/* O total de cada venda, por baixo do total do atendimento (o que se paga). */
.lt-at__railvendas[b-tm5euidfbs] { list-style: none; margin: .6rem 0 0; padding: 0; display: grid; gap: .15rem; }
.lt-at__railvendas li[b-tm5euidfbs] { display: flex; justify-content: space-between; gap: .75rem; font-size: .84rem; color: var(--lt-ink-2); }
.lt-at__railvendas li span[b-tm5euidfbs] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lt-at__railvendas li b[b-tm5euidfbs] { font-variant-numeric: tabular-nums; font-weight: 600; }
.lt-at__railvendas li.is-atual[b-tm5euidfbs] { color: var(--lt-brand-700); }

.lt-at__panelbody[b-tm5euidfbs] {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.lt-at__payment[b-tm5euidfbs] {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: .45rem;
    overflow: hidden;
}

.lt-at__payhead[b-tm5euidfbs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex-shrink: 0;
}

.lt-at__payhead h3[b-tm5euidfbs] {
    margin: 0;
    font-size: .95rem;
}

.lt-at__payhead button[b-tm5euidfbs],
.lt-at__receiptcopy[b-tm5euidfbs] {
    min-height: 36px;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    color: var(--lt-muted);
    font-size: .78rem;
    font-weight: 800;
    padding: .32rem .55rem;
    cursor: pointer;
}

.lt-at__payhead button:hover:not(:disabled)[b-tm5euidfbs],
.lt-at__receiptcopy:hover[b-tm5euidfbs] {
    background: var(--lt-surface-2);
    color: var(--lt-ink);
}

.lt-at__payhead button:disabled[b-tm5euidfbs] { opacity: .45; cursor: not-allowed; }

.lt-at__paymodes[b-tm5euidfbs] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .42rem;
    min-height: 0;
    overflow: auto;
    padding-right: .15rem;
}

.lt-at__payrow[b-tm5euidfbs] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: .32rem;
}

.lt-at__payrow button[b-tm5euidfbs] {
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    color: var(--lt-ink);
    font-size: .88rem;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .4rem .45rem;
    overflow: hidden;
}

.lt-at__payrow button span[b-tm5euidfbs] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lt-at__payrow button b[b-tm5euidfbs] {
    font-size: .82rem;
    color: var(--lt-brand-700);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.lt-at__payrow button:hover:not(:disabled)[b-tm5euidfbs] {
    background: var(--lt-brand-tint);
    border-color: var(--lt-brand);
    color: var(--lt-brand-700);
}

.lt-at__payrow button:disabled[b-tm5euidfbs] { opacity: .55; cursor: not-allowed; }
.lt-at__payrow.has-amount button[b-tm5euidfbs] {
    background: var(--lt-brand-tint);
    border-color: rgba(21, 167, 216, .45);
}

.lt-at__payrow input[b-tm5euidfbs] {
    width: 100%;
    height: 38px;
    box-sizing: border-box;
    text-align: right;
    padding: .35rem .5rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-size: .95rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.lt-at__payrow input:focus[b-tm5euidfbs] { outline: none; border-color: var(--lt-brand); box-shadow: 0 0 0 2px var(--lt-brand-glow); }

.lt-at__paysummary[b-tm5euidfbs] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .35rem;
    flex-shrink: 0;
    padding: .5rem;
    background: var(--lt-surface-2);
    border-radius: var(--lt-radius-sm);
}

.lt-at__paysummary div[b-tm5euidfbs] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lt-at__paysummary b[b-tm5euidfbs] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: right;
    font-size: .9rem;
    font-variant-numeric: tabular-nums;
}

.lt-at__paystate[b-tm5euidfbs] { margin: 0; color: var(--lt-muted); font-size: .82rem; }
.lt-at__paystate.is-error[b-tm5euidfbs] { color: var(--lt-danger); }
.lt-at__payerrors[b-tm5euidfbs] {
    flex-shrink: 0;
    max-height: 72px;
    overflow: auto;
    color: var(--lt-danger);
    font-size: .78rem;
    line-height: 1.25;
}
.lt-at__payerrors p[b-tm5euidfbs] { margin: .25rem 0; }

.lt-at__receiptstate[b-tm5euidfbs] { margin: .25rem 0; color: var(--lt-muted); font-size: .82rem; }
.lt-at__receiptstate.is-error[b-tm5euidfbs] { color: var(--lt-danger); }
.lt-at__receiptframe[b-tm5euidfbs] {
    width: 100%;
    flex: 1;
    min-height: 0;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: #fff;
}
.lt-at__receiptwarn[b-tm5euidfbs] { margin: .2rem 0 0; color: var(--lt-muted); font-size: .72rem; line-height: 1.35; }

/* Sem o "Prever talão", o Finalizar/Emitir é a ação dominante → botão único, grande, full-width
   (pedido do dono, 2026-07-14: "o botão de finalizar a grande"). */
.lt-at__panelactions[b-tm5euidfbs] {
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
    padding-top: .65rem;
    border-top: 1px solid var(--lt-line);
}

.lt-at__sidebtn[b-tm5euidfbs],
.lt-at__finalize[b-tm5euidfbs],
.lt-at__payconfirm[b-tm5euidfbs] {
    min-height: 76px;
    border-radius: var(--lt-radius-sm);
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: .01em;
    cursor: pointer;
}

.lt-at__sidebtn[b-tm5euidfbs] {
    border: 1px solid var(--lt-line);
    background: var(--lt-surface);
    color: var(--lt-ink);
}

.lt-at__sidebtn:hover:not(:disabled)[b-tm5euidfbs] { background: var(--lt-surface-2); }

.lt-at__finalize[b-tm5euidfbs],
.lt-at__payconfirm[b-tm5euidfbs] {
    border: 1px solid var(--lt-brand);
    background: var(--lt-brand);
    color: #fff;
}

.lt-at__finalize:hover:not(:disabled)[b-tm5euidfbs],
.lt-at__payconfirm:hover:not(:disabled)[b-tm5euidfbs] { background: var(--lt-brand-600); }

.lt-at__sidebtn:disabled[b-tm5euidfbs],
.lt-at__finalize:disabled[b-tm5euidfbs],
.lt-at__payconfirm:disabled[b-tm5euidfbs] {
    opacity: .55;
    cursor: not-allowed;
}

/* ---- Receipt preview modal ---- */
.lt-at__receiptmodal[b-tm5euidfbs] {
    position: fixed;
    inset: 0;
    z-index: 85;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2vh 2vw;
    background: rgba(15, 23, 42, .48);
}

.lt-at__receiptdialog[b-tm5euidfbs] {
    width: min(620px, 94vw);
    height: min(820px, 94vh);
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border-radius: var(--lt-radius);
    background: var(--lt-surface);
    box-shadow: var(--lt-shadow-lg);
}

.lt-at__receiptmodalhead[b-tm5euidfbs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    background: var(--lt-header);
    color: var(--lt-header-ink);
}

.lt-at__receiptmodalhead h2[b-tm5euidfbs],
.lt-at__receiptmodalhead p[b-tm5euidfbs] {
    margin: 0;
}

.lt-at__receiptmodalhead h2[b-tm5euidfbs] {
    font-size: 1.1rem;
}

.lt-at__receiptmodalhead p[b-tm5euidfbs] {
    margin-top: .15rem;
    color: rgba(238, 243, 246, .72);
    font-size: .85rem;
}

.lt-at__receiptclose[b-tm5euidfbs] {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    color: var(--lt-header-ink);
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}

.lt-at__receiptclose:hover[b-tm5euidfbs] { background: rgba(255, 255, 255, .2); }

.lt-at__receiptmodalbody[b-tm5euidfbs] {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    overflow: hidden;
    padding: 1rem;
    background: var(--lt-surface-2);
}

.lt-at__receiptmodalbody .lt-at__receiptstate[b-tm5euidfbs] {
    align-self: stretch;
    padding: 1rem;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
}

.lt-at__receiptmodalbody .lt-at__receiptframe[b-tm5euidfbs] {
    width: min(360px, 100%);
    flex: 1;
    min-height: 0;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .13);
}

.lt-at__receiptmodalfoot[b-tm5euidfbs] {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .85rem 1rem;
    border-top: 1px solid var(--lt-line);
    background: var(--lt-surface);
}

.lt-at__receiptmodalfoot span[b-tm5euidfbs] { flex: 1; }

.lt-at__receiptdone[b-tm5euidfbs],
.lt-at__receiptmodalfoot .lt-at__receiptcopy[b-tm5euidfbs] {
    min-height: 46px;
    padding: .55rem .9rem;
    border-radius: var(--lt-radius-sm);
    font-weight: 900;
    cursor: pointer;
}

.lt-at__receiptdone[b-tm5euidfbs] {
    border: 1px solid var(--lt-brand);
    background: var(--lt-brand);
    color: #fff;
}

.lt-at__receiptdone:hover[b-tm5euidfbs] { background: var(--lt-brand-600); }

/* ---- Document reprint search ---- */
.lt-at__docmodal[b-tm5euidfbs] {
    position: fixed;
    inset: 0;
    z-index: 86;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2vh 2vw;
    background: rgba(15, 23, 42, .48);
}

.lt-at__docdialog[b-tm5euidfbs] {
    width: min(1040px, 96vw);
    height: min(780px, 94vh);
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border-radius: var(--lt-radius);
    background: var(--lt-surface);
    box-shadow: var(--lt-shadow-lg);
}

.lt-at__dochead[b-tm5euidfbs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
    background: var(--lt-header);
    color: var(--lt-header-ink);
}

.lt-at__dochead h2[b-tm5euidfbs],
.lt-at__dochead p[b-tm5euidfbs] {
    margin: 0;
}

.lt-at__dochead h2[b-tm5euidfbs] {
    font-size: 1.15rem;
}

.lt-at__dochead p[b-tm5euidfbs] {
    margin-top: .2rem;
    color: rgba(238, 243, 246, .72);
    font-size: .86rem;
}

.lt-at__docclose[b-tm5euidfbs] {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    color: var(--lt-header-ink);
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}

.lt-at__docclose:hover[b-tm5euidfbs] { background: rgba(255, 255, 255, .2); }

.lt-at__docbody[b-tm5euidfbs] {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    padding: .85rem;
    background: var(--lt-surface-2);
}

.lt-at__docfilters[b-tm5euidfbs] {
    display: grid;
    grid-template-columns: auto auto minmax(260px, 1fr) 110px auto;
    gap: .55rem;
    align-items: end;
    padding: .65rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
}

.lt-at__docfilters label[b-tm5euidfbs] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    color: var(--lt-muted);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.lt-at__docfilters input[b-tm5euidfbs] {
    height: 42px;
    box-sizing: border-box;
    padding: .45rem .6rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    color: var(--lt-ink);
    font: inherit;
}

.lt-at__docfilters input:focus[b-tm5euidfbs] {
    outline: none;
    border-color: var(--lt-brand);
    box-shadow: 0 0 0 3px var(--lt-brand-glow);
}

.lt-at__docnum[b-tm5euidfbs] {
    width: 110px;
}

.lt-at__docsearch[b-tm5euidfbs],
.lt-at__docdone[b-tm5euidfbs] {
    min-height: 42px;
    padding: .5rem .9rem;
    border: 1px solid var(--lt-brand);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand);
    color: #fff;
    font-size: .9rem;
    font-weight: 900;
    cursor: pointer;
}

.lt-at__docsearch:hover:not(:disabled)[b-tm5euidfbs],
.lt-at__docdone:hover[b-tm5euidfbs] {
    background: var(--lt-brand-600);
}

.lt-at__docsearch:disabled[b-tm5euidfbs] {
    opacity: .55;
    cursor: not-allowed;
}

.lt-at__docwrap[b-tm5euidfbs] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
}

.lt-at__docmsg[b-tm5euidfbs] {
    margin: 0;
    padding: 1rem;
    color: var(--lt-muted);
}

.lt-at__doctable[b-tm5euidfbs] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: .86rem;
}

.lt-at__doctable th[b-tm5euidfbs] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--lt-surface);
    color: var(--lt-muted);
    text-align: left;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .55rem .65rem;
    border-bottom: 2px solid var(--lt-line);
}

.lt-at__doctable td[b-tm5euidfbs] {
    height: 48px;
    padding: .45rem .65rem;
    border-bottom: 1px solid var(--lt-surface-2);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

.lt-at__doctable tbody tr[b-tm5euidfbs] {
    cursor: pointer;
}

.lt-at__doctable tbody tr:hover[b-tm5euidfbs] {
    background: var(--lt-brand-tint);
}

.lt-at__doctag[b-tm5euidfbs] {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    padding: .08rem .38rem;
    border-radius: 4px;
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-weight: 800;
}

.lt-at__docfoot[b-tm5euidfbs] {
    display: flex;
    justify-content: flex-end;
    gap: .6rem;
    padding: .8rem .95rem;
    border-top: 1px solid var(--lt-line);
    background: var(--lt-surface);
}

/* ---- Toast ---- */
.lt-at__toast[b-tm5euidfbs] {
    position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%);
    background: var(--lt-header); color: var(--lt-header-ink); padding: .7rem 1.2rem;
    border-radius: 999px; box-shadow: var(--lt-shadow-lg); font-size: .9rem; z-index: 60; cursor: pointer;
}

@media (max-width: 900px) {
    .lt-at[b-tm5euidfbs] { height: auto; min-height: 100vh; overflow: auto; }
    .lt-at__contextbar[b-tm5euidfbs] { flex-wrap: wrap; }
    .lt-at__main[b-tm5euidfbs] { flex-direction: column; overflow: visible; }
    .lt-at__panel[b-tm5euidfbs] { width: auto; max-height: none; }
    .lt-at__grid[b-tm5euidfbs] { min-width: 820px; }
    .lt-at__actions[b-tm5euidfbs] { flex-direction: column; align-items: stretch; }
    .lt-at__totals[b-tm5euidfbs], .lt-at__keys[b-tm5euidfbs] { flex-wrap: wrap; }
    .lt-at__docfilters[b-tm5euidfbs] { grid-template-columns: 1fr 1fr; }
    .lt-at__docfilters input:not(.lt-at__docnum)[b-tm5euidfbs], .lt-at__docsearch[b-tm5euidfbs] { grid-column: 1 / -1; }
    .lt-at__docnum[b-tm5euidfbs] { width: 100%; }
    .lt-at__doctable[b-tm5euidfbs] { min-width: 860px; }
}

/* ── Picker de lote (vários lotes em stock) ─────────────────────────────────────────────────── */
.lt-at__loteshade[b-tm5euidfbs] {
    position: fixed; inset: 0; z-index: 70;
    background: rgba(28, 43, 58, .45);
    display: flex; align-items: center; justify-content: center;
}
.lt-at__lotepick[b-tm5euidfbs] {
    width: min(440px, 92vw);
    background: var(--lt-surface);
    border-radius: var(--lt-radius);
    box-shadow: var(--lt-shadow-lg);
    padding: 1rem 1.1rem;
}
.lt-at__lotepick h3[b-tm5euidfbs] { margin: 0; font-size: 1rem; }
.lt-at__lotepickref[b-tm5euidfbs] { margin: .15rem 0 .7rem; font-size: .8rem; color: var(--lt-muted); }
.lt-at__lotepicklist[b-tm5euidfbs] { display: flex; flex-direction: column; gap: .3rem; max-height: 46vh; overflow-y: auto; }
.lt-at__lotepickrow[b-tm5euidfbs] {
    display: flex; align-items: center; gap: .8rem;
    padding: .55rem .7rem;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font: inherit; font-size: .9rem; cursor: pointer; text-align: left;
}
.lt-at__lotepickrow strong[b-tm5euidfbs] { min-width: 8rem; }
.lt-at__lotepickrow .c-num[b-tm5euidfbs] { margin-left: auto; font-variant-numeric: tabular-nums; }
.lt-at__lotepickrow:hover[b-tm5euidfbs] { background: var(--lt-surface-2); }
.lt-at__lotepickrow.is-selected[b-tm5euidfbs] { border-color: var(--lt-brand); background: var(--lt-brand-tint); }
.lt-at__fefotag[b-tm5euidfbs] {
    font-size: .62rem; font-weight: 800; letter-spacing: .05em;
    color: var(--lt-brand-700); background: var(--lt-brand-tint);
    border-radius: 999px; padding: .1rem .45rem;
}
.lt-at__lotepickhint[b-tm5euidfbs] { margin: .7rem 0 0; font-size: .74rem; color: var(--lt-muted); }

/* Botões do diálogo "Venda por acabar" (retomar rascunho). Reaproveita a casca do picker de lote;
   só precisa da linha de ações — Descartar à esquerda de Retomar, que é a ação recomendada. */
.lt-at__rascunhoacts[b-tm5euidfbs] {
    display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem;
}

/* ── Devolução → Nota de Crédito ─────────────────────────────────────────── */
.lt-at__devhead[b-tm5euidfbs] {
    display: flex; align-items: center; gap: .8rem;
    padding: .35rem 0 .6rem;
}
.lt-at__devhead div[b-tm5euidfbs] { display: flex; flex-direction: column; gap: .1rem; }
.lt-at__devhead strong[b-tm5euidfbs] { font-size: .95rem; }
.lt-at__devhead span[b-tm5euidfbs] { font-size: .78rem; color: var(--lt-muted); }
.lt-at__devback[b-tm5euidfbs] {
    font: inherit; font-size: .8rem; cursor: pointer;
    padding: .4rem .7rem;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); color: inherit;
}
.lt-at__devback:hover[b-tm5euidfbs] { background: var(--lt-surface-2); }
.lt-at__devtable tr.is-muted td[b-tm5euidfbs] { color: var(--lt-muted); }
.lt-at__devqty input[b-tm5euidfbs] {
    width: 5.2rem; text-align: right;
    font: inherit; font-variant-numeric: tabular-nums;
    padding: .3rem .45rem;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); color: inherit;
}
.lt-at__devqty input:disabled[b-tm5euidfbs] { opacity: .45; }
.lt-at__devall[b-tm5euidfbs] {
    font: inherit; font-size: .72rem; cursor: pointer;
    padding: .25rem .55rem;
    border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); color: inherit;
}
.lt-at__devall:hover:not(:disabled)[b-tm5euidfbs] { background: var(--lt-surface-2); }
.lt-at__devall:disabled[b-tm5euidfbs] { opacity: .4; cursor: default; }
.lt-at__devtotal[b-tm5euidfbs] {
    display: flex; align-items: baseline; gap: .5rem;
    padding: .6rem 0 0;
    font-size: .85rem;
}
.lt-at__devtotal strong[b-tm5euidfbs] { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.lt-at__devtotal span[b-tm5euidfbs] { font-size: .74rem; color: var(--lt-muted); }
.lt-at__devconfirm[b-tm5euidfbs] {
    font: inherit; font-weight: 700; cursor: pointer;
    padding: .55rem 1.1rem;
    border: 1px solid var(--lt-brand); border-radius: var(--lt-radius-sm);
    background: var(--lt-brand); color: #fff;
}
.lt-at__devconfirm:hover:not(:disabled)[b-tm5euidfbs] { filter: brightness(1.06); }
.lt-at__devconfirm:disabled[b-tm5euidfbs] { opacity: .5; cursor: default; }

/* Aviso de caixa fechada (gate de faturação, fiel ao legado identificacao.prg) */
.lt-at__caixawarn[b-tm5euidfbs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0.5rem clamp(0.5rem, 2vw, 1.25rem) 0;
    padding: 0.6rem 1rem;
    border-radius: 0.6rem;
    background: color-mix(in srgb, #d97706 14%, transparent);
    border: 1px solid color-mix(in srgb, #d97706 40%, transparent);
    color: #92400e;
    font-weight: 600;
    font-size: 0.9rem;
}
.lt-at__caixawarn button[b-tm5euidfbs] {
    border: 0;
    background: #d97706;
    color: #fff;
    font-weight: 700;
    padding: 0.4rem 0.9rem;
    border-radius: 0.5rem;
    cursor: pointer;
    white-space: nowrap;
}
.lt-at__caixawarn button:hover[b-tm5euidfbs] { filter: brightness(1.06); }

/* Aviso "sem caixa aberta" DENTRO do rodapé da devolução: com o painel aberto, a faixa do topo
   fica fora de vista e o botão desativado não explica nada (o title de um disabled raramente
   aparece). Fica à esquerda dos botões, com a saída à mão. */
.lt-at__devwarn[b-tm5euidfbs] {
    display: inline-flex; align-items: center; gap: .5rem; margin-right: auto;
    font-size: .82rem; color: var(--lt-warn-ink, #7a4b00);
    background: var(--lt-warn-bg, #fff4e0); border: 1px solid var(--lt-warn-line, #f0d3a0);
    border-radius: var(--lt-radius-sm); padding: .35rem .6rem;
}
.lt-at__devwarnbtn[b-tm5euidfbs] {
    border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer;
    border-radius: var(--lt-radius-sm); padding: .15rem .5rem; font: inherit; font-weight: 600;
}
.lt-at__devwarnbtn:hover[b-tm5euidfbs] { background: rgba(0,0,0,.05); }
/* _content/Logitools.Client.Shared/Pages/Caixas.razor.rz.scp.css */
.lt-cx[b-9hc8fjrx2c] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.lt-cx__body[b-9hc8fjrx2c] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1.25rem clamp(1rem, 3vw, 2.5rem);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.lt-cx__msg[b-9hc8fjrx2c] {
    color: var(--lt-muted, #64748b);
    margin: 0.5rem 0;
}

/* ── Separadores (Sessão · Fecho de caixa · Dia) ── */
.lt-cx__tabs[b-9hc8fjrx2c] {
    display: flex;
    gap: 0.35rem;
    border-bottom: 2px solid var(--lt-border, #e2e8f0);
}

.lt-cx__tab[b-9hc8fjrx2c] {
    border: 0;
    background: transparent;
    padding: 0.55rem 1.1rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--lt-muted, #64748b);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
}

.lt-cx__tab.is-active[b-9hc8fjrx2c] {
    color: var(--lt-primary, #2563eb);
    border-bottom-color: var(--lt-primary, #2563eb);
}

.lt-cx__tab:disabled[b-9hc8fjrx2c] {
    opacity: 0.45;
    cursor: default;
}

/* ── Meta / mensagens ── */
.lt-cx__meta[b-9hc8fjrx2c] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.lt-cx__pill[b-9hc8fjrx2c] {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    background: var(--lt-surface-2, #f1f5f9);
    color: var(--lt-muted, #475569);
    border: 1px solid var(--lt-border, #e2e8f0);
}

.lt-cx__pill.is-ok[b-9hc8fjrx2c] {
    background: color-mix(in srgb, #16a34a 12%, transparent);
    color: #15803d;
    border-color: color-mix(in srgb, #16a34a 30%, transparent);
}

.lt-cx__pill.is-danger[b-9hc8fjrx2c] {
    background: color-mix(in srgb, #dc2626 12%, transparent);
    color: #b91c1c;
    border-color: color-mix(in srgb, #dc2626 30%, transparent);
}

.lt-cx__okmsg[b-9hc8fjrx2c] {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: #15803d;
    background: color-mix(in srgb, #16a34a 10%, transparent);
    border: 1px solid color-mix(in srgb, #16a34a 28%, transparent);
    border-radius: 0.5rem;
    padding: 0.5rem 0.8rem;
}

/* ── Cartões ── */
.lt-cx__card[b-9hc8fjrx2c] {
    background: var(--lt-surface, #fff);
    border: 1px solid var(--lt-border, #e2e8f0);
    border-radius: 0.9rem;
    padding: 1.25rem 1.4rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.lt-cx__card--narrow[b-9hc8fjrx2c] {
    max-width: 46rem;
}

.lt-cx__card.is-open[b-9hc8fjrx2c] {
    border-color: color-mix(in srgb, #16a34a 40%, var(--lt-border, #e2e8f0));
}

.lt-cx__card h2[b-9hc8fjrx2c] {
    margin: 0 0 0.35rem;
    font-size: 1.15rem;
}

.lt-cx__cardhead[b-9hc8fjrx2c] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.lt-cx__sub[b-9hc8fjrx2c] {
    margin: 0;
    color: var(--lt-muted, #64748b);
    font-size: 0.9rem;
}

.lt-cx__dot[b-9hc8fjrx2c] {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 999px;
    background: #16a34a;
    box-shadow: 0 0 0 4px color-mix(in srgb, #16a34a 20%, transparent);
    flex: none;
    margin-top: 0.3rem;
}

/* ── Vista Sessão: 2 colunas em largura total ── */
.lt-cx__sessao[b-9hc8fjrx2c] {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

@media (max-width: 60rem) {
    .lt-cx__sessao[b-9hc8fjrx2c] {
        grid-template-columns: 1fr;
    }
}

.lt-cx__grid[b-9hc8fjrx2c] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.75rem;
    margin: 1.1rem 0 0.4rem;
}

.lt-cx__stat[b-9hc8fjrx2c] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.7rem 0.85rem;
    border-radius: 0.6rem;
    background: var(--lt-surface-2, #f8fafc);
    border: 1px solid var(--lt-border, #eef2f7);
}

.lt-cx__stat.is-strong[b-9hc8fjrx2c] {
    background: color-mix(in srgb, var(--lt-primary, #2563eb) 8%, transparent);
    border-color: color-mix(in srgb, var(--lt-primary, #2563eb) 25%, transparent);
}

.lt-cx__k[b-9hc8fjrx2c] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--lt-muted, #64748b);
}

.lt-cx__v[b-9hc8fjrx2c] {
    font-size: 1.1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.lt-cx__note[b-9hc8fjrx2c] {
    margin: 0.9rem 0 0;
    color: var(--lt-muted, #64748b);
    font-size: 0.88rem;
    line-height: 1.4;
}

/* ── Botões de ação da sessão ── */
.lt-cx__actions[b-9hc8fjrx2c] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1rem;
}

.lt-cx__action[b-9hc8fjrx2c] {
    border: 1px solid var(--lt-border, #cbd5e1);
    background: var(--lt-surface, #fff);
    padding: 0.55rem 1rem;
    border-radius: 0.6rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--lt-text, #0f172a);
    cursor: pointer;
}

.lt-cx__action:hover:not(:disabled)[b-9hc8fjrx2c] {
    background: var(--lt-surface-2, #f8fafc);
}

.lt-cx__action:disabled[b-9hc8fjrx2c] {
    opacity: 0.55;
    cursor: default;
}

.lt-cx__action.is-in[b-9hc8fjrx2c] {
    border-color: color-mix(in srgb, #16a34a 40%, transparent);
    color: #15803d;
}

.lt-cx__action.is-out[b-9hc8fjrx2c] {
    border-color: color-mix(in srgb, #dc2626 40%, transparent);
    color: #b91c1c;
}

.lt-cx__action.is-primary[b-9hc8fjrx2c] {
    background: var(--lt-primary, #2563eb);
    border-color: var(--lt-primary, #2563eb);
    color: #fff;
}

.lt-cx__action.is-primary:hover:not(:disabled)[b-9hc8fjrx2c] {
    filter: brightness(1.06);
    background: var(--lt-primary, #2563eb);
}

/* ── Formulários ── */
.lt-cx__form[b-9hc8fjrx2c] {
    display: flex;
    align-items: flex-end;
    gap: 0.9rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.lt-cx__field[b-9hc8fjrx2c] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--lt-muted, #475569);
}

/* O aspeto do controlo (altura, borda, foco, tabular-nums nos montantes) vem do design system
   — `.lt-ctl` / `.lt-ctl--num` no theme.css. Esta página tinha aqui a SUA definição de input,
   a terceira da aplicação; ficou só a LARGURA, que é layout desta página e não estilo de controlo. */
.lt-cx__field[b-9hc8fjrx2c]  .lt-field {
    width: 12rem;
    max-width: 100%;
}

.lt-cx__field--grow[b-9hc8fjrx2c] {
    flex: 1 1 14rem;
}

.lt-cx__field--grow[b-9hc8fjrx2c]  .lt-field {
    width: 100%;
}

.lt-cx__field--block[b-9hc8fjrx2c] {
    width: 100%;
    margin-top: 0.75rem;
}

.lt-cx__field--block[b-9hc8fjrx2c]  .lt-field {
    width: 100%;
}

/* Na tabela de conferência o campo ocupa a célula (a coluna já tem a largura certa). */
.lt-cx__fechotab td[b-9hc8fjrx2c]  .lt-field {
    width: 100%;
}

/* ── Toggle entrada/saída · modo de contagem ── */
.lt-cx__seg[b-9hc8fjrx2c] {
    display: inline-flex;
    border: 1px solid var(--lt-border, #cbd5e1);
    border-radius: 0.55rem;
    overflow: hidden;
    align-self: flex-end;
}

.lt-cx__seg--top[b-9hc8fjrx2c] {
    margin: 0.5rem 0 1rem;
}

.lt-cx__segbtn[b-9hc8fjrx2c] {
    border: 0;
    background: var(--lt-surface, #fff);
    padding: 0.5rem 0.9rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--lt-muted, #475569);
    cursor: pointer;
}

.lt-cx__segbtn + .lt-cx__segbtn[b-9hc8fjrx2c] {
    border-left: 1px solid var(--lt-border, #cbd5e1);
}

.lt-cx__segbtn.is-active[b-9hc8fjrx2c] {
    background: color-mix(in srgb, var(--lt-primary, #2563eb) 14%, transparent);
    color: var(--lt-primary, #2563eb);
}

.lt-cx__segbtn.is-active.is-out[b-9hc8fjrx2c] {
    background: color-mix(in srgb, #dc2626 14%, transparent);
    color: #b91c1c;
}

/* ── Novo motivo (linha de link) ── */
.lt-cx__movaddline[b-9hc8fjrx2c] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.6rem;
    flex-wrap: wrap;
}

/* Densidade e borda vêm do `Dense` do design system; aqui fica só o quanto o campo estica. */
.lt-cx__movaddline[b-9hc8fjrx2c]  .lt-field {
    flex: 1 1 12rem;
}

.lt-cx__link[b-9hc8fjrx2c] {
    border: 0;
    background: transparent;
    color: var(--lt-primary, #2563eb);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0.2rem 0;
}

.lt-cx__link.is-muted[b-9hc8fjrx2c] {
    color: var(--lt-muted, #64748b);
}

.lt-cx__link:disabled[b-9hc8fjrx2c] {
    opacity: 0.5;
    cursor: default;
}

/* ── Wizard do fecho ── */
.lt-cx__steps[b-9hc8fjrx2c] {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.lt-cx__steps li[b-9hc8fjrx2c] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--lt-muted, #94a3b8);
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: var(--lt-surface-2, #f1f5f9);
    border: 1px solid var(--lt-border, #e2e8f0);
}

.lt-cx__steps li.is-active[b-9hc8fjrx2c] {
    background: color-mix(in srgb, var(--lt-primary, #2563eb) 12%, transparent);
    border-color: color-mix(in srgb, var(--lt-primary, #2563eb) 35%, transparent);
    color: var(--lt-primary, #2563eb);
}

.lt-cx__steps li.is-done[b-9hc8fjrx2c] {
    background: color-mix(in srgb, #16a34a 10%, transparent);
    border-color: color-mix(in srgb, #16a34a 28%, transparent);
    color: #15803d;
}

.lt-cx__wizbtns[b-9hc8fjrx2c] {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.1rem;
    flex-wrap: wrap;
}

.lt-cx__wizbtns .lt-cx__action:only-child[b-9hc8fjrx2c] {
    margin-left: auto;
}

/* ── Contagem por denominação ── */
.lt-cx__countcols[b-9hc8fjrx2c] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1.25rem;
}

.lt-cx__counth[b-9hc8fjrx2c] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--lt-muted, #64748b);
    font-weight: 700;
    margin-bottom: 0.4rem;
}

.lt-cx__denom[b-9hc8fjrx2c] {
    display: grid;
    grid-template-columns: 5.5rem 6rem 1fr;
    align-items: center;
    gap: 0.6rem;
    padding: 0.2rem 0;
}

.lt-cx__denomv[b-9hc8fjrx2c] {
    font-size: 0.9rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

/* Alinhamento à direita e tabular-nums já vêm do `.lt-ctl--num` do design system. */
.lt-cx__denom[b-9hc8fjrx2c]  .lt-field { width: 5.5rem; }

.lt-cx__denomsub[b-9hc8fjrx2c] {
    font-size: 0.82rem;
    color: var(--lt-muted, #94a3b8);
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.lt-cx__countcol--tenders[b-9hc8fjrx2c] {
    border-left: 1px dashed var(--lt-border, #e2e8f0);
    padding-left: 1.25rem;
}

.lt-cx__counttotal[b-9hc8fjrx2c] {
    margin: 0 0 1rem;
    font-size: 1.35rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.lt-cx__tender[b-9hc8fjrx2c] {
    display: grid;
    grid-template-columns: 1fr 8rem;
    align-items: center;
    gap: 0.6rem;
    padding: 0.25rem 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--lt-muted, #475569);
}

.lt-cx__tender input[b-9hc8fjrx2c] {
    font-size: 0.95rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--lt-border, #cbd5e1);
    border-radius: 0.45rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ── Tabelas (conferência / movimentos) ── */
.lt-cx__fechowrap[b-9hc8fjrx2c] {
    overflow-x: auto;
    margin: 0.6rem 0 0.4rem;
}

.lt-cx__fechotab[b-9hc8fjrx2c] {
    width: 100%;
    max-width: 52rem;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.lt-cx__fechotab th[b-9hc8fjrx2c],
.lt-cx__fechotab td[b-9hc8fjrx2c] {
    padding: 0.4rem 0.7rem;
    border-bottom: 1px solid var(--lt-border, #eef2f7);
    text-align: left;
}

.lt-cx__fechotab th.num[b-9hc8fjrx2c],
.lt-cx__fechotab td.num[b-9hc8fjrx2c] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lt-cx__fechotab thead th[b-9hc8fjrx2c] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--lt-muted, #64748b);
}

.lt-cx__fechotab tfoot td[b-9hc8fjrx2c] {
    font-weight: 700;
    border-top: 2px solid var(--lt-border, #cbd5e1);
    border-bottom: none;
}

.lt-cx__fechotab td.is-pos[b-9hc8fjrx2c] { color: #15803d; }
.lt-cx__fechotab td.is-neg[b-9hc8fjrx2c] { color: #b91c1c; }

/* ── Fecho unificado (G3): tabela com o Contado editável in-place ── */
.lt-cx__fechotab--edit td.num input[b-9hc8fjrx2c] {
    width: 7.5rem;
    text-align: right;
    padding: 0.3rem 0.45rem;
    border: 1px solid var(--lt-line, #d4d9e2);
    border-radius: 0.4rem;
    font-variant-numeric: tabular-nums;
}

.lt-cx__countbtn[b-9hc8fjrx2c] {
    margin-left: 0.6rem;
    padding: 0.15rem 0.5rem;
    font-size: 0.8rem;
    border: 1px solid var(--lt-line, #d4d9e2);
    border-radius: 0.4rem;
    background: var(--lt-surface-2, #f4f6fa);
    cursor: pointer;
}

.lt-cx__countbtn:hover[b-9hc8fjrx2c] {
    border-color: var(--lt-brand, #2563eb);
    color: var(--lt-brand, #2563eb);
}

/* ── Diálogo entrada/saída ── */
.lt-cx__overlay[b-9hc8fjrx2c] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 60;
    padding: 1rem;
}

.lt-cx__modal[b-9hc8fjrx2c] {
    background: var(--lt-surface, #fff);
    border-radius: 0.9rem;
    padding: 1.25rem 1.4rem;
    width: min(30rem, 100%);
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.25);
}

.lt-cx__modal h2[b-9hc8fjrx2c] {
    margin: 0 0 0.75rem;
    font-size: 1.15rem;
}

.lt-cx__modal--wide[b-9hc8fjrx2c] {
    width: min(46rem, 100%);
}

/* ── Corrigir a contagem de um fecho (CX-G4) ─────────────────────────────────
   O fecho é imutável; o que se corrige é a contagem. A coluna "No fecho" mostra
   o valor anterior em tom secundário — o operador vê o que estava e o que fica,
   sem ter de comparar de memória. */
.lt-cx__was[b-9hc8fjrx2c] {
    color: var(--lt-muted, #64748b);
}

.lt-cx__note--pad[b-9hc8fjrx2c] {
    padding: 0 0.25rem;
}

/* Pares chave/valor do cartão "Último fecho deste dia". */
.lt-cx__kv[b-9hc8fjrx2c] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.35rem 1rem;
    margin: 0.75rem 0 0;
    font-size: 0.9rem;
}

.lt-cx__kv dt[b-9hc8fjrx2c] {
    color: var(--lt-muted, #64748b);
}

.lt-cx__kv dd[b-9hc8fjrx2c] {
    margin: 0;
    font-variant-numeric: tabular-nums;
}

/* Erro dentro do diálogo de correção (o LtAlert do topo fica fora do modal). */
.lt-cx__err[b-9hc8fjrx2c] {
    margin: 0.75rem 0 0;
    padding: 0.6rem 0.75rem;
    border-radius: 0.5rem;
    background: #fef2f2;
    color: #b91c1c;
    font-size: 0.88rem;
}

@media (prefers-color-scheme: dark) {
    .lt-cx__err[b-9hc8fjrx2c] {
        background: rgba(185, 28, 28, 0.15);
        color: #fca5a5;
    }
}
/* _content/Logitools.Client.Shared/Pages/ChooseContext.razor.rz.scp.css */
.lt-choose[b-5pmrmd2fkf] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--lt-brand) 0%, var(--lt-brand-700) 100%);
    padding: 1.5rem;
    font-family: var(--lt-font);
}

.lt-choose__card[b-5pmrmd2fkf] {
    width: 100%;
    max-width: 440px;
    background: var(--lt-surface);
    border-radius: 14px;
    box-shadow: var(--lt-shadow-lg);
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    max-height: 90vh;
}

.lt-choose__head[b-5pmrmd2fkf] {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
}

.lt-choose__logo[b-5pmrmd2fkf] { width: 40px; height: 40px; }
.lt-choose__head h1[b-5pmrmd2fkf] { margin: 0; font-size: 1.2rem; color: var(--lt-ink); }
.lt-choose__head p[b-5pmrmd2fkf] { margin: 0; font-size: .82rem; color: var(--lt-muted); }

.lt-choose__admin[b-5pmrmd2fkf] {
    width: 100%;
    margin-bottom: .8rem;
    padding: .6rem .7rem;
    border: 1px dashed var(--lt-brand);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-weight: 700;
    font-size: .9rem;
    cursor: pointer;
}
.lt-choose__admin:hover[b-5pmrmd2fkf] { background: var(--lt-brand); color: #fff; }

.lt-choose__search[b-5pmrmd2fkf] {
    width: 100%;
    padding: .6rem .7rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-size: .95rem;
    box-sizing: border-box;
    margin-bottom: 1rem;
}
.lt-choose__search:focus[b-5pmrmd2fkf] {
    outline: none;
    border-color: var(--lt-brand);
    box-shadow: 0 0 0 3px var(--lt-brand-glow);
}

.lt-choose__list[b-5pmrmd2fkf] {
    overflow-y: auto;
    flex: 1;
    margin: 0 -.25rem 1rem;
    padding: 0 .25rem;
}

.lt-choose__company[b-5pmrmd2fkf] {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--lt-muted);
    margin: .75rem .25rem .4rem;
}

.lt-choose__store[b-5pmrmd2fkf] {
    display: flex;
    align-items: center;
    gap: .6rem;
    width: 100%;
    text-align: left;
    padding: .7rem .8rem;
    margin-bottom: .4rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    cursor: pointer;
    transition: border-color .12s, background .12s;
}
.lt-choose__store:hover[b-5pmrmd2fkf] { border-color: var(--lt-brand); background: var(--lt-surface-2); }
.lt-choose__store.is-selected[b-5pmrmd2fkf] {
    border-color: var(--lt-brand);
    background: var(--lt-brand-tint);
    box-shadow: 0 0 0 1px var(--lt-brand) inset;
}

.lt-choose__storename[b-5pmrmd2fkf] { font-weight: 600; color: var(--lt-ink); flex: 1; }
.lt-choose__meta[b-5pmrmd2fkf] { font-size: .78rem; color: var(--lt-muted); }
.lt-choose__badge[b-5pmrmd2fkf] {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--lt-brand-700);
    background: var(--lt-brand-tint);
    border-radius: 999px;
    padding: .15rem .5rem;
}

.lt-choose__empty[b-5pmrmd2fkf] { color: var(--lt-muted); font-size: .9rem; text-align: center; padding: 1rem; }

.lt-choose__remember[b-5pmrmd2fkf] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    color: var(--lt-ink-2);
    margin-bottom: 1rem;
    cursor: pointer;
}

.lt-choose__error[b-5pmrmd2fkf] {
    background: var(--lt-danger-tint);
    color: var(--lt-danger);
    border: 1px solid #f5c2c0;
    border-radius: var(--lt-radius-sm);
    padding: .55rem .7rem;
    font-size: .85rem;
    margin-bottom: 1rem;
}

.lt-choose__btn[b-5pmrmd2fkf] {
    width: 100%;
    padding: .75rem;
    border: none;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}
.lt-choose__btn:hover:not(:disabled)[b-5pmrmd2fkf] { background: var(--lt-brand-600); }
.lt-choose__btn:disabled[b-5pmrmd2fkf] { opacity: .55; cursor: default; }
/* _content/Logitools.Client.Shared/Pages/Clientes.razor.rz.scp.css */
/* Conta-corrente na ficha do cliente (F3 slice A). Realce reservado ao estado acionável
   (por regularizar > 0) — o resto é grelha uniforme, alinhada com a disciplina de UI. */

.lt-cm__group--wide[b-ndgxh1pkz1] {
    grid-column: 1 / -1;
}

.lt-cc__summary[b-ndgxh1pkz1] {
    display: flex;
    gap: 2rem;
    margin-bottom: .75rem;
}

.lt-cc__stat[b-ndgxh1pkz1] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.lt-cc__statlabel[b-ndgxh1pkz1] {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--lt-text-muted, #6b7280);
}

.lt-cc__statvalue[b-ndgxh1pkz1] {
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
}

.lt-cc__statvalue.is-due[b-ndgxh1pkz1] {
    color: var(--lt-danger, #b42318);
    font-weight: 600;
}

.lt-cc__table[b-ndgxh1pkz1] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--lt-border, #e5e7eb);
    border-radius: 6px;
    overflow: hidden;
}

.lt-cc__head[b-ndgxh1pkz1],
.lt-cc__row[b-ndgxh1pkz1] {
    display: grid;
    grid-template-columns: 6.5rem 1fr 7rem 8rem;
    gap: .5rem;
    padding: .35rem .6rem;
    align-items: center;
}

.lt-cc__head[b-ndgxh1pkz1] {
    background: var(--lt-surface-2, #f9fafb);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--lt-text-muted, #6b7280);
    border-bottom: 1px solid var(--lt-border, #e5e7eb);
}

.lt-cc__row[b-ndgxh1pkz1] {
    font-size: .85rem;
    border-bottom: 1px solid var(--lt-border-subtle, #f1f3f5);
}

.lt-cc__row:last-child[b-ndgxh1pkz1] {
    border-bottom: none;
}

.lt-cc__num[b-ndgxh1pkz1] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lt-cc__due[b-ndgxh1pkz1] {
    font-weight: 600;
}

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

.lt-cc__head3 h3[b-ndgxh1pkz1] {
    margin: 0;
}

.lt-cm__btn--primary[b-ndgxh1pkz1] {
    background: var(--lt-primary, #2f6feb);
    color: #fff;
    border-color: var(--lt-primary, #2f6feb);
}

.lt-cm__btn--primary:disabled[b-ndgxh1pkz1] {
    opacity: .55;
    cursor: not-allowed;
}
/* _content/Logitools.Client.Shared/Pages/ComprasDocumentos.razor.rz.scp.css */

/* Checkbox de célula (Iva Incl.) — centrado e do tamanho da linha, sem label próprio. */
.lt-cm__chk[b-u54i0p63km] { width: 16px; height: 16px; accent-color: var(--lt-brand); vertical-align: middle; }

/* ── Triagem de divergências (E2b) ───────────────────────────────────────────────────────────────
   Pastilhas de filtro na gramática da ficha v2 (a mesma dos parâmetros e das séries). O realce das
   linhas é ESTADO: "veio a mais" e "não veio nada" são o que o operador tem de decidir. */
.lt-tri__filtros[b-u54i0p63km] { display: flex; gap: .35rem; flex-wrap: wrap; padding: .6rem 1rem 0; }
.lt-tri__f[b-u54i0p63km] {
    appearance: none; padding: .35rem .85rem;
    border: 1px solid var(--lt-line, #e2e8f0); border-radius: var(--lt-radius-sm, 8px);
    background: var(--lt-surface, #fff);
    font: inherit; font-size: .82rem; font-weight: 600;
    color: var(--lt-muted, #64748b); cursor: pointer;
}
.lt-tri__f:hover:not(.is-on)[b-u54i0p63km] { background: var(--lt-surface-2, #f8fafc); }
.lt-tri__f.is-on[b-u54i0p63km] {
    background: var(--lt-brand-tint, #eff6ff);
    border-color: var(--lt-brand, #2563eb);
    color: var(--lt-brand-700, #1d4ed8);
}
.lt-tri__tbl td[b-u54i0p63km] { vertical-align: middle; }
.lt-tri__tbl[b-u54i0p63km]  .lt-field { min-width: 15rem; }
.lt-tri__flag[b-u54i0p63km] {
    display: inline-block; margin-left: .4rem; padding: .05rem .4rem;
    border: 1px solid var(--lt-warning, #92400e); border-radius: 999px;
    font-size: .68rem; text-transform: uppercase; color: var(--lt-warning, #92400e);
}
.lt-tri__flag--zero[b-u54i0p63km] { border-color: var(--lt-danger, #dc2626); color: var(--lt-danger, #dc2626); }

/* _content/Logitools.Client.Shared/Pages/Crm.razor.rz.scp.css */
/* Ecrã do módulo de CRM. Bloco próprio `lt-crm` (UI-CONVENTIONS §2: bloco por ecrã, prefixo lt-). */

.lt-crm[b-fxb4e3p22f] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: var(--lt-bg);
}

.lt-crm__body[b-fxb4e3p22f] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 20px 24px 48px;
}

/* Largura toda: navegação estreita à esquerda, painel a ocupar o resto (memória ui-full-width). */
.lt-crm__main[b-fxb4e3p22f] {
    display: grid;
    /* minmax(0, 1fr) e não 1fr: um «1fr» não encolhe abaixo do conteúdo mais largo, e a tabela das coortes
       esticava a coluna para 700 px num ecrã de 375 (visto no ecrã, 2026-09-24). */
    /* Navegação com 225 px no mínimo (SLDS Vertical Navigation); o painel fica com o resto. */
    grid-template-columns: minmax(225px, 240px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

/* A navegação com o aspeto da barra lateral do mockup do CRM: fica à vista ao rolar (sticky), com os ícones de cor. */
.lt-crm__nav[b-fxb4e3p22f] {
    position: sticky;
    top: 0;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-lg);
    box-shadow: var(--lt-shadow-card);
    padding: 10px 8px;
}

.lt-crm__group + .lt-crm__group[b-fxb4e3p22f] { margin-top: 6px; }

/* Micro-rótulo do grupo como no mockup (11 px, maiúsculas espaçadas) — a referência do dono prevalece sobre a
   regra do SLDS sem maiúsculas (spec do CRM §6-bis.4, decisão 2). */
.lt-crm__grouplabel[b-fxb4e3p22f] {
    margin: 12px 0 4px;
    padding: 0 10px;
    font-size: .69rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--lt-muted);
}

/* Os itens são LIGAÇÕES (a área está no endereço): sem sublinhado, com o aspecto de um item de menu. */
.lt-crm__item[b-fxb4e3p22f] {
    display: flex;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    min-height: 38px;
    padding: 6px 8px;
    border: 0;
    border-radius: var(--lt-radius-sm);
    background: none;
    color: var(--lt-ink-2);
    font: inherit;
    font-size: .87rem;
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background .1s ease;
}

.lt-crm__item:hover[b-fxb4e3p22f] { background: var(--lt-surface-2); color: var(--lt-ink); }
.lt-crm__item:focus-visible[b-fxb4e3p22f] { outline: 2px solid var(--lt-brand); outline-offset: -2px; }
.lt-crm__item.is-sel[b-fxb4e3p22f] { background: var(--lt-brand-tint); color: var(--lt-ink); font-weight: 600; }

.lt-crm__itemname[b-fxb4e3p22f] { flex: 1; }

/* «Em preparação»: o plano do módulo, fechado por omissão. Separado do que funciona por uma linha — o
   que está acima trabalha-se, o que está aqui dentro ainda não existe. */
.lt-crm__prep[b-fxb4e3p22f] {
    margin-top: 12px;
    padding-top: 8px;
    border-top: 1px solid var(--lt-line);
}

.lt-crm__prep > summary[b-fxb4e3p22f] {
    margin: 0;
    cursor: pointer;
}

.lt-crm__prep > summary:focus-visible[b-fxb4e3p22f] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }

.lt-crm__prep .lt-crm__group[b-fxb4e3p22f] { margin-top: 8px; }

.lt-crm__subgrouplabel[b-fxb4e3p22f] {
    margin: 0 0 2px;
    padding: 0 8px;
    font-size: .68rem;
    font-weight: 600;
    color: var(--lt-muted);
}

/* Realce = estado acionável (memória ui-emphasis-discipline). «Por construir» não é um realce: é o
   contrário — a área fica mais apagada, e a etiqueta explica porquê sem gritar. */
.lt-crm__item.is-por-construir .lt-crm__itemname[b-fxb4e3p22f] { color: var(--lt-muted); }

.lt-crm__tag[b-fxb4e3p22f] {
    flex: none;
    padding: 1px 6px;
    border: 1px solid var(--lt-line);
    border-radius: 999px;
    font-size: .68rem;
    color: var(--lt-muted);
}

/* Áreas que JÁ funcionam, só vivem noutro ecrã (ou existem em parte). O selo neutro acima é para
   o que ainda não existe; estas não são dívida, são morada — e o item não fica esmaecido como o
   `is-por-construir`, porque esmaecer o que funciona foi metade do defeito que isto corrigiu. */
.lt-crm__tag--noutro[b-fxb4e3p22f],
.lt-crm__tag--parte[b-fxb4e3p22f] {
    border-color: var(--lt-brand);
    color: var(--lt-brand);
}

/* Espaço entre a explicação e o botão que leva lá. */
/* Sem permissão: a frase e, por baixo, o nome da permissão que falta (o do ecrã de Acessos). */
.lt-crm__permissao[b-fxb4e3p22f] { display: block; margin-top: .25rem; font-size: .8rem; }

.lt-crm__ir[b-fxb4e3p22f] {
    margin: .75rem 0 0;
}

/* O «Abrir» é uma ligação com ar de botão (navega — SLDS), e uma `<a>` sai sublinhada: o Bootstrap, carregado no App.razor, põe
   `a { text-decoration: underline }` e o `.lt-btn` não o desfaz. Como em todas as ligações com ar de botão do CRM (CrmCatracasTests). */
.lt-crm__ir .lt-btn[b-fxb4e3p22f] { text-decoration: none; }

/* O painel é só o espaço da área: o cabeçalho de cada área e os seus cartões assentam no fundo da página. */
.lt-crm__panel[b-fxb4e3p22f] { min-width: 0; }

/* Um cartão do mockup (`.panel`): raio 14, sombra suave em duas camadas. */
.lt-crm__cartao[b-fxb4e3p22f] {
    padding: 16px 18px;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-lg);
    box-shadow: var(--lt-shadow-card);
}

/* A entrada da vista (mockup `.view`: sobe 6 px e aparece em 0,3 s).
   ⚠️ Com `top` e SEM transform nem fill-mode (visto no ecrã, 2026-09-25): um transform animado que fica aplicado
   (fill-mode both) faz da vista o contentor dos `position: fixed` lá de dentro — e a sheet do «Novo caso», o LtConfirm
   e a pesquisa de clientes ficavam presos na vista, cortados no topo e sem cobrir o ecrã. */
.lt-crm__vista[b-fxb4e3p22f] { position: relative; animation: lt-crm-entra-b-fxb4e3p22f .3s ease; }
@keyframes lt-crm-entra-b-fxb4e3p22f { from { opacity: 0; top: 6px; } to { opacity: 1; top: 0; } }
@media (prefers-reduced-motion: reduce) { .lt-crm__vista[b-fxb4e3p22f] { animation: none; } }

.lt-crm__msg[b-fxb4e3p22f] {
    margin: 0;
    padding: 24px 8px;
    color: var(--lt-muted);
    text-align: center;
}

@media (max-width: 900px) {
    .lt-crm__main[b-fxb4e3p22f] { grid-template-columns: minmax(0, 1fr); }

    /* Num telefone a navegação vertical ocupava o primeiro ecrã inteiro antes de qualquer conteúdo: passa a
       uma fila que rola na horizontal, só com as áreas que funcionam (as por construir não servem ao balcão). */
    .lt-crm__nav[b-fxb4e3p22f] { display: flex; gap: 4px; overflow-x: auto; padding: 6px; -webkit-overflow-scrolling: touch; }
    .lt-crm__group[b-fxb4e3p22f] { display: contents; }
    .lt-crm__group + .lt-crm__group[b-fxb4e3p22f] { margin-top: 0; }
    .lt-crm__grouplabel[b-fxb4e3p22f] { display: none; }
    .lt-crm__item[b-fxb4e3p22f] { width: auto; flex: none; white-space: nowrap; }
    .lt-crm__prep[b-fxb4e3p22f] { display: none; }
}

/* _content/Logitools.Client.Shared/Pages/Custos.razor.rz.scp.css */
/* O espaço de trabalho «Custos» — ecrã de trabalho a toda a largura (como as Transferências e os Lotes & Validades).
   Realce só no que pede ação: a passagem que falhou. Os números (contagens, valores) são neutros. */
.lt-cst[b-6k84oux57i] { height: 100vh; display: flex; flex-direction: column; background: var(--lt-bg); font-family: var(--lt-font); }
.lt-cst__corpo[b-6k84oux57i] { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .7rem; padding: 1rem clamp(1rem, 3vw, 2.2rem) 1.4rem; }

.lt-cst__estado[b-6k84oux57i] { display: flex; flex-direction: column; gap: .15rem; }
.lt-cst__estado p[b-6k84oux57i] { margin: 0; font-size: .86rem; color: var(--lt-muted); }

.lt-cst__separadores[b-6k84oux57i] { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--lt-line); }
.lt-cst__separador[b-6k84oux57i] {
    display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .9rem; margin-bottom: -1px;
    border: 1px solid transparent; border-bottom: 2px solid transparent; border-radius: var(--lt-radius-sm, 8px) var(--lt-radius-sm, 8px) 0 0;
    background: transparent; font: inherit; font-size: .88rem; color: var(--lt-muted); cursor: pointer;
}
.lt-cst__separador:hover[b-6k84oux57i] { color: var(--lt-ink); background: var(--lt-brand-tint); }
.lt-cst__separador.is-active[b-6k84oux57i] { color: var(--lt-ink); font-weight: 600; border-bottom-color: var(--lt-brand); }
.lt-cst__separador:focus-visible[b-6k84oux57i] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-cst__conta[b-6k84oux57i] { font-variant-numeric: tabular-nums; color: var(--lt-muted); font-weight: 400; }

.lt-cst__cartao[b-6k84oux57i] {
    flex: 1; min-height: 0; display: flex; flex-direction: column;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg, 12px); overflow: hidden;
}
.lt-cst__cartao:focus-visible[b-6k84oux57i] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-cst__msg[b-6k84oux57i] { margin: 0; padding: 1.4rem; font-size: .9rem; color: var(--lt-muted); }

.lt-cst__topo[b-6k84oux57i] { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; justify-content: space-between; padding: .8rem .8rem .2rem; }
.lt-cst__topo[b-6k84oux57i]  .lt-field { flex: 0 1 320px; margin: 0; }
.lt-cst__resumo[b-6k84oux57i] { margin: 0; font-size: .9rem; color: var(--lt-ink); font-variant-numeric: tabular-nums; }
.lt-cst__nota[b-6k84oux57i] { display: flex; align-items: flex-start; gap: .45rem; margin: 0; padding: .2rem .8rem; font-size: .84rem; color: var(--lt-muted); }
.lt-cst__depois[b-6k84oux57i] { display: block; margin-top: .2rem; font-size: .8rem; color: var(--lt-muted); }

.lt-cst__rolo[b-6k84oux57i] { flex: 1; min-height: 0; overflow: auto; margin-top: .4rem; }
.lt-cst__tabela[b-6k84oux57i] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-cst__tabela thead th[b-6k84oux57i] {
    position: sticky; top: 0; z-index: 1; padding: .55rem .8rem; text-align: left;
    background: var(--lt-surface-2); border-bottom: 1px solid var(--lt-line);
    font-size: .76rem; font-weight: 600; color: var(--lt-muted);
}
.lt-cst__tabela td[b-6k84oux57i], .lt-cst__tabela tbody th[b-6k84oux57i] { padding: .55rem .8rem; border-bottom: 1px solid var(--lt-line); color: var(--lt-ink); text-align: left; font-weight: 400; }
.lt-cst__tabela .is-num[b-6k84oux57i] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-cst__tabela tbody tr:hover[b-6k84oux57i] { background: var(--lt-brand-tint); }

.lt-cst__abrir[b-6k84oux57i] {
    padding: 0; border: 0; background: transparent; cursor: pointer;
    font: inherit; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-brand);
}
.lt-cst__abrir:hover[b-6k84oux57i] { text-decoration: underline; }
.lt-cst__abrir:focus-visible[b-6k84oux57i] { outline: 2px solid var(--lt-brand); outline-offset: 2px; border-radius: 2px; }
/* _content/Logitools.Client.Shared/Pages/DiagnosticoFiscal.razor.rz.scp.css */
.lt-df[b-3ac6sie7lt] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: var(--lt-bg);
}

.lt-df__forbidden[b-3ac6sie7lt] {
    padding: 24px;
    max-width: 640px;
}

/* ── Toolbar ─────────────────────────────────────────────────────────── */
.lt-df__toolbar[b-3ac6sie7lt] {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background: var(--lt-surface);
    border-bottom: 1px solid var(--lt-line);
}

.lt-df__tools[b-3ac6sie7lt] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.lt-df__field[b-3ac6sie7lt] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--lt-ink-2);
    font-size: 14px;
}

.lt-df__num[b-3ac6sie7lt] {
    width: 64px;
    padding: 6px 8px;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    text-align: center;
}

.lt-df__stamp[b-3ac6sie7lt] {
    width: 260px;
    padding: 7px 10px;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    font-size: 13px;
}

/* ── Summary chips ───────────────────────────────────────────────────── */
.lt-df__summary[b-3ac6sie7lt] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: var(--lt-surface-2);
    border-bottom: 1px solid var(--lt-line);
}

.lt-df__chip[b-3ac6sie7lt] {
    font-size: 13px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
}

.lt-df__chip--total[b-3ac6sie7lt] { background: var(--lt-brand-tint); color: var(--lt-brand-700); }
.lt-df__chip--ok[b-3ac6sie7lt]    { background: var(--lt-success-tint); color: var(--lt-success); }
.lt-df__chip--err[b-3ac6sie7lt]   { background: var(--lt-danger-tint); color: var(--lt-danger); }
.lt-df__chip--warn[b-3ac6sie7lt]  { background: var(--lt-warning-tint); color: var(--lt-warning); }

.lt-df__mode[b-3ac6sie7lt] {
    margin-left: auto;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--lt-muted);
}

/* ── Main split ──────────────────────────────────────────────────────── */
.lt-df__main[b-3ac6sie7lt] {
    flex: 1;
    display: grid;
    grid-template-columns: 340px 1fr;
    min-height: 0;
}

.lt-df__list[b-3ac6sie7lt] {
    border-right: 1px solid var(--lt-line);
    overflow-y: auto;
    background: var(--lt-surface);
}

.lt-df__hint[b-3ac6sie7lt] {
    padding: 20px;
    color: var(--lt-muted);
    font-size: 14px;
    line-height: 1.5;
}

.lt-df__hint--center[b-3ac6sie7lt] { text-align: center; margin-top: 40px; }

.lt-df__row[b-3ac6sie7lt] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    border: none;
    border-bottom: 1px solid var(--lt-line);
    border-left: 3px solid transparent;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.lt-df__row:hover[b-3ac6sie7lt] { background: var(--lt-surface-2); }
.lt-df__row.is-sel[b-3ac6sie7lt] { background: var(--lt-brand-tint); border-left-color: var(--lt-brand); }
.lt-df__row.is-err[b-3ac6sie7lt] { border-left-color: var(--lt-danger); }
.lt-df__row.is-warn[b-3ac6sie7lt] { border-left-color: var(--lt-warning); }

.lt-df__dot[b-3ac6sie7lt] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.lt-df__dot.d-ok[b-3ac6sie7lt] { background: var(--lt-success); }
.lt-df__dot.d-err[b-3ac6sie7lt] { background: var(--lt-danger); }
.lt-df__dot.d-warn[b-3ac6sie7lt] { background: var(--lt-warning); }
.lt-df__dot.d-missing[b-3ac6sie7lt] { background: var(--lt-muted); }

.lt-df__rlabel[b-3ac6sie7lt] {
    flex: 1;
    font-size: 14px;
    color: var(--lt-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lt-df__rmeta[b-3ac6sie7lt] {
    font-size: 12px;
    color: var(--lt-muted);
    flex-shrink: 0;
}

/* ── Console ─────────────────────────────────────────────────────────── */
.lt-df__console[b-3ac6sie7lt] {
    overflow-y: auto;
    padding: 18px 22px;
}

.lt-df__chead[b-3ac6sie7lt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--lt-line);
    margin-bottom: 14px;
}

.lt-df__chead strong[b-3ac6sie7lt] { font-size: 16px; color: var(--lt-ink); }

.lt-df__cstamp[b-3ac6sie7lt] {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: var(--lt-muted);
}

.lt-df__verdict[b-3ac6sie7lt] {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 5px 12px;
    border-radius: 999px;
}

.lt-df__verdict.is-ok[b-3ac6sie7lt] { background: var(--lt-success-tint); color: var(--lt-success); }
.lt-df__verdict.is-err[b-3ac6sie7lt] { background: var(--lt-danger-tint); color: var(--lt-danger); }

.lt-df__checks[b-3ac6sie7lt] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lt-df__check[b-3ac6sie7lt] {
    display: flex;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
}

.lt-df__check.is-err[b-3ac6sie7lt] { border-color: var(--lt-danger); background: var(--lt-danger-tint); }
.lt-df__check.is-warn[b-3ac6sie7lt] { border-color: var(--lt-warning); background: var(--lt-warning-tint); }

.lt-df__cbadge[b-3ac6sie7lt] {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: var(--lt-success);
}

.lt-df__check.is-err .lt-df__cbadge[b-3ac6sie7lt] { background: var(--lt-danger); }
.lt-df__check.is-warn .lt-df__cbadge[b-3ac6sie7lt] { background: var(--lt-warning); }

.lt-df__cbody[b-3ac6sie7lt] { flex: 1; min-width: 0; }

.lt-df__ctop[b-3ac6sie7lt] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}

.lt-df__ctop code[b-3ac6sie7lt] {
    font-size: 12px;
    font-weight: 700;
    color: var(--lt-ink);
    background: var(--lt-surface-2);
    padding: 1px 6px;
    border-radius: 4px;
}

.lt-df__cmsg[b-3ac6sie7lt] { font-size: 14px; color: var(--lt-ink-2); }

.lt-df__cdiff[b-3ac6sie7lt] {
    display: flex;
    gap: 18px;
    margin-top: 6px;
    font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    font-size: 12px;
}

.lt-df__cexp[b-3ac6sie7lt] { color: var(--lt-ink-2); }
.lt-df__cact[b-3ac6sie7lt] { color: var(--lt-danger); font-weight: 600; }
/* _content/Logitools.Client.Shared/Pages/DiagnosticoSistema.razor.rz.scp.css */
/* Painel de diagnóstico — separador Sistema.
   Densidade de ecrã de trabalho: usa a largura toda, farol à esquerda para varrer a lista de relance.

   ⚠️ 2026-08-14 — esta folha nasceu com DOIS defeitos que a faziam parecer um ecrã partido:
     1. `height: 100%` sobre um <body> SEM altura resolvida → a percentagem caía para `auto` e a
        página acabava onde acabava o conteúdo. O padrão da casa ancora ao ECRÃ (100vh), não ao pai.
     2. seis tokens INVENTADOS (--lt-space-*, --lt-border, --lt-text, --lt-text-muted, --lt-surface-1,
        --lt-surface-3) que não existem em theme.css. Caíam todos nos fallbacks — a paleta cinzenta
        do GitHub — e a página ficava fora da paleta da casa. Aqui só entram tokens verificados. */

.lt-diag[b-txw5whtml7] {
    display: flex;
    flex-direction: column;
    /* Ao ECRÃ, não ao pai: nenhum antecedente (body → EmptyLayout → @Body) tem altura resolvida. */
    height: 100vh;
    /* Sem padding na raiz: é isso que devolve o WorkHeader ao full-bleed, como em todas as outras. */
    background: var(--lt-bg);
    color: var(--lt-ink-2);
    font-family: var(--lt-font);
}

/* Quem cresce e faz scroll é o corpo — a raiz é só a coluna. Padrão .lt-cx__body / .lt-val__body. */
.lt-diag__body[b-txw5whtml7] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.25rem clamp(1rem, 3vw, 2.5rem);
}

/* ── Topo: identificação + acções ───────────────────────────────────────────────────────────── */
.lt-diag__topo[b-txw5whtml7] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 1rem;
    background: var(--lt-surface-2);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius);
}

.lt-diag__ident[b-txw5whtml7] { display: grid; gap: .15rem; font-size: .875rem; }
.lt-diag__ident-linha[b-txw5whtml7] { display: flex; gap: .5rem; align-items: baseline; }
.lt-diag__rot[b-txw5whtml7] { min-width: 7.5rem; color: var(--lt-muted); }
.lt-diag__commit[b-txw5whtml7] {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: .8125rem;
    padding: 0 .35rem;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-bg);
    color: var(--lt-ink);
}

.lt-diag__accoes[b-txw5whtml7] { display: flex; align-items: center; gap: .75rem; }
.lt-diag__resumo[b-txw5whtml7] { display: flex; gap: .5rem; }

.lt-diag__pilula[b-txw5whtml7] {
    font-size: .8125rem;
    font-weight: 600;
    padding: .2rem .6rem;
    border-radius: 999px;
}
.lt-diag__pilula--ok[b-txw5whtml7]    { background: var(--lt-success-tint); color: var(--lt-success); }
.lt-diag__pilula--aviso[b-txw5whtml7] { background: var(--lt-warning-tint); color: #8a5300; }
.lt-diag__pilula--erro[b-txw5whtml7]  { background: var(--lt-danger-tint);  color: var(--lt-danger); }

/* ── Grupos e itens ─────────────────────────────────────────────────────────────────────────── */
.lt-diag__grupo[b-txw5whtml7] { display: flex; flex-direction: column; gap: .5rem; }

.lt-diag__grupo-titulo[b-txw5whtml7] {
    margin: 0;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--lt-muted);
}

.lt-diag__lista[b-txw5whtml7] { display: grid; gap: .5rem; }

.lt-diag__item[b-txw5whtml7] {
    display: flex;
    gap: .75rem;
    padding: .75rem;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius);
}

/* O farol é a única cor forte da lista: é o que se varre de relance. */
.lt-diag__farol[b-txw5whtml7] { width: 4px; border-radius: 2px; flex: 0 0 4px; }
.lt-diag__item--ok    .lt-diag__farol[b-txw5whtml7] { background: var(--lt-success); }
.lt-diag__item--aviso .lt-diag__farol[b-txw5whtml7] { background: var(--lt-warning); }
.lt-diag__item--erro  .lt-diag__farol[b-txw5whtml7] { background: var(--lt-danger); }
.lt-diag__item--na    .lt-diag__farol[b-txw5whtml7] { background: var(--lt-line); }

.lt-diag__corpo[b-txw5whtml7] { flex: 1; display: grid; gap: .25rem; }
.lt-diag__cabeca[b-txw5whtml7] { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.lt-diag__titulo[b-txw5whtml7] { font-weight: 600; color: var(--lt-ink); }

.lt-diag__estado[b-txw5whtml7] { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.lt-diag__item--ok    .lt-diag__estado[b-txw5whtml7] { color: var(--lt-success); }
.lt-diag__item--aviso .lt-diag__estado[b-txw5whtml7] { color: #8a5300; }
.lt-diag__item--erro  .lt-diag__estado[b-txw5whtml7] { color: var(--lt-danger); }
.lt-diag__item--na    .lt-diag__estado[b-txw5whtml7] { color: var(--lt-muted); }

.lt-diag__detalhe[b-txw5whtml7] { font-size: .875rem; color: var(--lt-ink-2); }

/* A acção só existe quando é precisa — por isso pode (e deve) chamar a atenção. */
.lt-diag__accao[b-txw5whtml7] {
    font-size: .875rem;
    padding: .4rem .6rem;
    border-left: 3px solid var(--lt-warning);
    background: var(--lt-warning-tint);
    border-radius: 0 var(--lt-radius-sm) var(--lt-radius-sm) 0;
}
.lt-diag__item--erro .lt-diag__accao[b-txw5whtml7] {
    border-left-color: var(--lt-danger);
    background: var(--lt-danger-tint);
}

/* Estado vazio (sem permissão / erro): o texto continua legível (não se lê uma linha de 2000px),
   mas centrado — encostado ao canto lia-se como «o ecrã partiu». */
.lt-diag__aviso[b-txw5whtml7] { max-width: 46rem; margin: 2rem auto; width: 100%; }

@media (max-width: 640px) {
    .lt-diag__topo[b-txw5whtml7] { flex-direction: column; }
    .lt-diag__rot[b-txw5whtml7] { min-width: 6rem; }
}

/* ── Separadores ────────────────────────────────────────────────────────────────────────────── */
.lt-diag__tabs[b-txw5whtml7] { display: flex; gap: .25rem; border-bottom: 1px solid var(--lt-line); }

.lt-diag__tab[b-txw5whtml7] {
    appearance: none;
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: .5rem .9rem;
    font: inherit;
    font-weight: 600;
    color: var(--lt-muted);
    cursor: pointer;
}
.lt-diag__tab:hover[b-txw5whtml7] { color: var(--lt-ink); }
.lt-diag__tab.is-active[b-txw5whtml7] { color: var(--lt-brand-700); border-bottom-color: var(--lt-brand); }

/* ── Registos ───────────────────────────────────────────────────────────────────────────────
   Densidade de consola: linhas curtas, monoespaçado só onde ajuda a alinhar (hora e nível), e
   nenhuma cor de fundo por linha — o realce é só para o que é accionável (avisos e erros). */
.lt-reg[b-txw5whtml7] {
    display: flex;
    flex-direction: column;
    background: var(--lt-surface);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius);
    overflow: hidden;
}

.lt-reg__linha[b-txw5whtml7] {
    display: grid;
    grid-template-columns: 5.5rem 4rem 11rem 1fr;
    gap: .6rem;
    align-items: baseline;
    padding: .3rem .7rem;
    font-size: .8125rem;
    border-bottom: 1px solid var(--lt-line);
}
.lt-reg__linha:last-child[b-txw5whtml7] { border-bottom: 0; }

.lt-reg__hora[b-txw5whtml7],
.lt-reg__nivel[b-txw5whtml7] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--lt-muted); }
.lt-reg__cat[b-txw5whtml7] { color: var(--lt-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lt-reg__msg[b-txw5whtml7] { color: var(--lt-ink-2); word-break: break-word; }

.lt-reg__linha--aviso  .lt-reg__nivel[b-txw5whtml7] { color: #8a5300; font-weight: 700; }
.lt-reg__linha--erro   .lt-reg__nivel[b-txw5whtml7],
.lt-reg__linha--crítico .lt-reg__nivel[b-txw5whtml7] { color: var(--lt-danger); font-weight: 700; }
.lt-reg__linha--erro[b-txw5whtml7],
.lt-reg__linha--crítico[b-txw5whtml7] { background: var(--lt-danger-tint); }

.lt-reg__exc[b-txw5whtml7] {
    display: block;
    margin-top: .15rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    color: var(--lt-danger);
}

@media (max-width: 900px) {
    .lt-reg__linha[b-txw5whtml7] { grid-template-columns: 4.5rem 3.5rem 1fr; }
    .lt-reg__cat[b-txw5whtml7] { display: none; }
}

/* ── Captura de corpos ───────────────────────────────────────────────────────────────────────
   É a única coisa do painel que muda o COMPORTAMENTO do servidor e expõe dados de doente
   enquanto está ligada. Por isso é o único sítio em que se justifica cor forte permanente: aqui
   o realce não é decoração, é estado accionável — «isto está ligado, desliga quando acabares». */
.lt-cap[b-txw5whtml7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    padding: .6rem .9rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius);
    background: var(--lt-surface-2);
    font-size: .875rem;
}

.lt-cap--ligada[b-txw5whtml7] {
    border-color: var(--lt-warning);
    background: var(--lt-warning-tint);
}

.lt-cap__estado[b-txw5whtml7] { font-weight: 700; color: var(--lt-ink); white-space: nowrap; }
.lt-cap--ligada .lt-cap__estado[b-txw5whtml7] { color: #8a5300; }

/* O texto é o que cede quando falta espaço — nunca os botões. */
.lt-cap__ate[b-txw5whtml7] { color: var(--lt-muted); flex: 1 1 12rem; min-width: 0; }
.lt-cap--ligada .lt-cap__ate[b-txw5whtml7] { color: #8a5300; }

/* Os botões ficam juntos e NÃO encolhem. Foi ao encolherem que o rótulo transbordou a faixa. */
.lt-cap__accoes[b-txw5whtml7] {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex: 0 0 auto;
    margin-left: auto;
}
.lt-cap__accoes .lt-btn[b-txw5whtml7] { white-space: nowrap; }

/* ── Separador «Serviços» (SRV-3) ─────────────────────────────────────────────
   A identidade de cada processo: versão, há quanto tempo está de pé, máquina, e
   o nome no gestor de serviços. Grelha automática para caber em 2 colunas num
   ecrã de balcão e numa só num portátil, sem media query. */
.lt-svc__meta[b-txw5whtml7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
    gap: .15rem 1.25rem;
    margin: .45rem 0 0;
}

.lt-svc__meta > div[b-txw5whtml7] {
    display: flex;
    gap: .5rem;
    align-items: baseline;
    min-width: 0;
}

.lt-svc__meta dt[b-txw5whtml7] {
    flex: 0 0 auto;
    font-size: .72rem;
    color: var(--lt-muted);
}

.lt-svc__meta dd[b-txw5whtml7] {
    margin: 0;
    font-size: .78rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.lt-svc__meta code[b-txw5whtml7] {
    font-size: .74rem;
    background: var(--lt-surface-2);
    border-radius: 3px;
    padding: .05rem .3rem;
}

/* ── Separador «Configuração» (SRV-4) ───────────────────────────────────────────────────────────
   Uma lista densa de pares, não cartões: são dezenas de valores e o que se faz aqui é PROCURAR um.
   O único realce é a linha por omissão — realce é estado accionável, nunca decoração. */
.lt-cfg__sub[b-txw5whtml7] {
    font-size: .74rem;
    font-weight: 400;
    color: var(--lt-muted);
    margin-left: .5rem;
}

.lt-cfg__sub-titulo[b-txw5whtml7] {
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--lt-muted);
    margin: .9rem 0 .3rem;
}

.lt-cfg__tabela[b-txw5whtml7] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--lt-line);
    border-radius: 6px;
    overflow: hidden;
}

.lt-cfg__linha[b-txw5whtml7] {
    display: grid;
    grid-template-columns: minmax(11rem, 1.1fr) minmax(0, 2fr) minmax(9rem, .9fr);
    gap: .75rem;
    align-items: baseline;
    padding: .4rem .6rem;
    border-bottom: 1px solid var(--lt-line);
}

.lt-cfg__linha:last-child[b-txw5whtml7] { border-bottom: 0; }

/* O valor de fábrica é o que interessa caçar: foi assim que a Web ficou a falar com o
   localhost em vez da API real. */
.lt-cfg__linha.is-omissao[b-txw5whtml7] { background: var(--lt-warning-tint); }

.lt-cfg__rotulo[b-txw5whtml7] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    font-size: .8rem;
    min-width: 0;
}

.lt-cfg__chave[b-txw5whtml7] {
    font-size: .68rem;
    color: var(--lt-muted);
    overflow-wrap: anywhere;
}

.lt-cfg__valor[b-txw5whtml7] {
    font-size: .78rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.lt-cfg__valor code[b-txw5whtml7] {
    background: var(--lt-surface-2);
    border-radius: 3px;
    padding: .05rem .3rem;
}

.lt-cfg__vazio[b-txw5whtml7] { color: var(--lt-muted); font-style: italic; }

.lt-cfg__origem[b-txw5whtml7] {
    font-size: .72rem;
    color: var(--lt-muted);
    text-align: right;
    overflow-wrap: anywhere;
}

@media (max-width: 720px) {
    .lt-cfg__linha[b-txw5whtml7] { grid-template-columns: 1fr; gap: .15rem; }
    .lt-cfg__origem[b-txw5whtml7] { text-align: left; }
}
/* _content/Logitools.Client.Shared/Pages/Inventario.razor.rz.scp.css */
/* O ecrã «Inventário» — ecrã de trabalho a toda a largura (como os Custos e as Transferências). Números neutros; realce só no
   que pede ação (um inventário por lançar). */
.lt-inv[b-npbkvippll] { height: 100vh; display: flex; flex-direction: column; background: var(--lt-bg); font-family: var(--lt-font); }
.lt-inv__corpo[b-npbkvippll] { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .7rem; padding: 1rem clamp(1rem, 3vw, 2.2rem) 1.4rem; }

.lt-inv__barra[b-npbkvippll] { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.lt-inv__barra[b-npbkvippll]  .lt-field { flex: 0 1 360px; margin: 0; }
.lt-inv__espaco[b-npbkvippll] { flex: 1; }
.lt-inv__nota[b-npbkvippll] { display: flex; align-items: flex-start; gap: .45rem; margin: 0; font-size: .84rem; color: var(--lt-muted); }

.lt-inv__cartao[b-npbkvippll] {
    flex: 1; min-height: 0; display: flex; flex-direction: column;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg, 12px); overflow: hidden;
}
.lt-inv__msg[b-npbkvippll] { margin: 0; padding: 1.4rem; font-size: .9rem; color: var(--lt-muted); }

.lt-inv__rolo[b-npbkvippll] { flex: 1; min-height: 0; overflow: auto; }
.lt-inv__rolo--doc[b-npbkvippll] { max-height: 60vh; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm, 8px); }
.lt-inv__tabela[b-npbkvippll] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-inv__tabela thead th[b-npbkvippll] {
    position: sticky; top: 0; z-index: 1; padding: .55rem .8rem; text-align: left;
    background: var(--lt-surface-2); border-bottom: 1px solid var(--lt-line);
    font-size: .76rem; font-weight: 600; color: var(--lt-muted);
}
.lt-inv__tabela td[b-npbkvippll] { padding: .55rem .8rem; border-bottom: 1px solid var(--lt-line); color: var(--lt-ink); text-align: left; }
.lt-inv__tabela .c-num[b-npbkvippll] { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lt-inv__linha[b-npbkvippll] { cursor: pointer; }
.lt-inv__linha:hover[b-npbkvippll] { background: var(--lt-brand-tint); }
.lt-inv__linha:focus-visible[b-npbkvippll] { outline: 2px solid var(--lt-brand); outline-offset: -2px; }
.lt-inv__quando[b-npbkvippll] { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lt-inv__ref[b-npbkvippll] { font-variant-numeric: tabular-nums; color: var(--lt-muted); margin-right: .35rem; }

.lt-inv__doc[b-npbkvippll] { display: flex; flex-direction: column; gap: .7rem; }
.lt-inv__resumo[b-npbkvippll] { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .5rem 1rem; margin: 0; }
.lt-inv__resumo dt[b-npbkvippll] { font-size: .74rem; font-weight: 600; color: var(--lt-muted); text-transform: uppercase; letter-spacing: .03em; }
.lt-inv__resumo dd[b-npbkvippll] { margin: .1rem 0 0; font-size: .9rem; color: var(--lt-ink); font-variant-numeric: tabular-nums; }

/* Os separadores (inventários / acertos de stock) — os dos Custos. */
.lt-inv__separadores[b-npbkvippll] { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--lt-line); }
.lt-inv__separador[b-npbkvippll] {
    display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .9rem; margin-bottom: -1px;
    border: 1px solid transparent; border-bottom: 2px solid transparent; border-radius: var(--lt-radius-sm, 8px) var(--lt-radius-sm, 8px) 0 0;
    background: transparent; font: inherit; font-size: .88rem; color: var(--lt-muted); cursor: pointer;
}
.lt-inv__separador:hover[b-npbkvippll] { color: var(--lt-ink); background: var(--lt-brand-tint); }
.lt-inv__separador.is-active[b-npbkvippll] { color: var(--lt-ink); font-weight: 600; border-bottom-color: var(--lt-brand); }
.lt-inv__separador:focus-visible[b-npbkvippll] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-inv__painel[b-npbkvippll] { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .7rem; }

/* O inventário novo (na folha): as linhas seguem as dos campos do LtSheet (11×14 px, separador por baixo). */
.lt-inv__novo-linha[b-npbkvippll] { padding: 11px 14px; border-bottom: 1px solid var(--lt-line); }
.lt-inv__novo-linha[b-npbkvippll]  .lt-escolha { margin: 0; }
.lt-inv__novo-nota[b-npbkvippll] { margin: 0; padding: 10px 14px; border-bottom: 1px solid var(--lt-line); font-size: .8rem; line-height: 1.45; color: var(--lt-muted); }

/* _content/Logitools.Client.Shared/Pages/Login.razor.rz.scp.css */
.lt-login[b-l5520t96ya] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--lt-brand) 0%, var(--lt-brand-700) 100%);
    padding: 1.5rem;
    font-family: var(--lt-font);
}

/* Seletor de língua (dispositivo, pré-login) — canto superior direito do cartão */
.lt-login__lang[b-l5520t96ya] { position: absolute; top: .9rem; right: .9rem; display: flex; gap: .25rem; }
.lt-login__langbtn[b-l5520t96ya] {
    padding: .2rem .5rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); font-size: .68rem; font-weight: 800; letter-spacing: .04em;
    color: var(--lt-muted); cursor: pointer;
}
.lt-login__langbtn:hover[b-l5520t96ya] { border-color: var(--lt-brand); color: var(--lt-brand-700); }
.lt-login__langbtn.is-active[b-l5520t96ya] { background: var(--lt-brand); border-color: var(--lt-brand); color: #fff; }

.lt-login__card[b-l5520t96ya] { position: relative;
    width: 100%;
    max-width: 380px;
    background: var(--lt-surface);
    border-radius: 14px;
    box-shadow: var(--lt-shadow-lg);
    padding: 2rem 1.75rem;
}

.lt-login__brand[b-l5520t96ya] {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-bottom: 1.75rem;
}

.lt-login__logo[b-l5520t96ya] {
    width: 46px;
    height: 46px;
    font-size: 1.5rem;
}

.lt-login__brand h1[b-l5520t96ya] { margin: 0; font-size: 1.3rem; color: var(--lt-ink); letter-spacing: .04em; }
.lt-login__brand p[b-l5520t96ya] { margin: 0; font-size: .8rem; color: var(--lt-muted); }

.lt-login__field[b-l5520t96ya] {
    display: block;
    margin-bottom: 1rem;
}

.lt-login__field span[b-l5520t96ya] {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--lt-ink-2);
    margin-bottom: .35rem;
}

.lt-login__field input[b-l5520t96ya],
.lt-login__field select[b-l5520t96ya] {
    width: 100%;
    padding: .6rem .7rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-size: .95rem;
    box-sizing: border-box;
    background: var(--lt-surface);
}

.lt-login__field input:focus[b-l5520t96ya],
.lt-login__field select:focus[b-l5520t96ya] {
    outline: none;
    border-color: var(--lt-brand);
    box-shadow: 0 0 0 3px var(--lt-brand-glow);
}

.lt-login__btn[b-l5520t96ya] {
    width: 100%;
    padding: .7rem;
    border: none;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand);
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: .4rem;
}

.lt-login__btn:hover:not(:disabled)[b-l5520t96ya] { background: var(--lt-brand-600); }
.lt-login__btn:disabled[b-l5520t96ya] { opacity: .6; cursor: default; }

.lt-login__btn--secondary[b-l5520t96ya] {
    background: var(--lt-muted);
    margin-top: 1rem;
}

.lt-login__error[b-l5520t96ya] {
    background: var(--lt-danger-tint);
    color: var(--lt-danger);
    border: 1px solid #f5c2c0;
    border-radius: var(--lt-radius-sm);
    padding: .55rem .7rem;
    font-size: .85rem;
    margin-bottom: 1rem;
}

.lt-login__welcome h2[b-l5520t96ya] { color: var(--lt-ink); margin-top: 0; }
.lt-login__welcome dl[b-l5520t96ya] { display: grid; grid-template-columns: auto 1fr; gap: .35rem .75rem; font-size: .9rem; }
.lt-login__welcome dt[b-l5520t96ya] { font-weight: 600; color: var(--lt-ink-2); }
.lt-login__welcome dd[b-l5520t96ya] { margin: 0; color: var(--lt-ink); }
/* _content/Logitools.Client.Shared/Pages/LotesValidades.razor.rz.scp.css */
.lt-val[b-af8cdxi8ye] { height: 100vh; display: flex; flex-direction: column; background: var(--lt-bg); font-family: var(--lt-font); }
.lt-val__body[b-af8cdxi8ye] { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 1rem clamp(1rem, 3vw, 2.2rem) 1.4rem; }

.lt-val__tabs[b-af8cdxi8ye] { display: flex; gap: .4rem; margin-bottom: .8rem; }
.lt-val__tab[b-af8cdxi8ye] {
    padding: .45rem .9rem; border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm);
    background: var(--lt-surface); font-size: .86rem; font-weight: 600; color: var(--lt-muted); cursor: pointer;
}
.lt-val__tab:hover[b-af8cdxi8ye] { background: var(--lt-surface-2); }
.lt-val__tab.is-active[b-af8cdxi8ye] { background: var(--lt-brand-tint); border-color: var(--lt-brand); color: var(--lt-brand-700); }

.lt-val__filters[b-af8cdxi8ye] { display: flex; flex-direction: column; gap: .5rem; margin-bottom: .7rem; }
.lt-val__chips[b-af8cdxi8ye] { display: flex; flex-wrap: wrap; gap: .35rem; }
.lt-val__chip[b-af8cdxi8ye] {
    padding: .28rem .7rem; border: 1px solid var(--lt-line); border-radius: 999px;
    background: var(--lt-surface); font-size: .78rem; font-weight: 700; color: var(--lt-muted); cursor: pointer;
}
.lt-val__chip:hover[b-af8cdxi8ye] { background: var(--lt-surface-2); }
.lt-val__chip.is-active[b-af8cdxi8ye] { background: var(--lt-brand); border-color: var(--lt-brand); color: #fff; }

.lt-val__row[b-af8cdxi8ye] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
/* Os filtros são componentes do design system em densidade compacta (`Dense` → `.lt-ctl--sm`).
   Aqui define-se só a LARGURA de cada um: o aspeto do controlo (altura, borda, foco) vem do
   theme.css e é o mesmo do resto da aplicação. Antes, esta página tinha a sua própria definição
   de "input de 34px" — uma segunda fonte de verdade que divergia em silêncio. */
.lt-val__row[b-af8cdxi8ye]  .lt-field { flex: 0 1 150px; }
.lt-val__row[b-af8cdxi8ye] >  .lt-field:first-child { flex-basis: 240px; }
.lt-val__row label[b-af8cdxi8ye] { display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; color: var(--lt-muted); }
.lt-val__row label[b-af8cdxi8ye]  .lt-field { flex: 0 0 auto; }
.lt-val__btn[b-af8cdxi8ye] {
    height: 34px; padding: 0 1rem; border: 1px solid var(--lt-brand); border-radius: var(--lt-radius-sm);
    background: var(--lt-brand); color: #fff; font-size: .86rem; font-weight: 700; cursor: pointer;
}
.lt-val__btn:hover[b-af8cdxi8ye] { filter: brightness(1.06); }

.lt-val__msg[b-af8cdxi8ye] { color: var(--lt-muted); font-size: .9rem; padding: 1.4rem 0; }
.lt-val__count[b-af8cdxi8ye] { margin: 0 0 .4rem; font-size: .76rem; color: var(--lt-muted); }
.lt-val__neg[b-af8cdxi8ye] { color: var(--lt-danger, #c0392b); font-weight: 700; }
.lt-val__dci[b-af8cdxi8ye] { max-width: 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Expiry proximity badge: expirado → ≤30 → ≤90 → ok */
.lt-val__vd[b-af8cdxi8ye] { display: inline-block; padding: .1rem .45rem; border-radius: 999px; font-size: .76rem; font-weight: 700; }
.lt-val__vd.is-expired[b-af8cdxi8ye] { background: #fdecea; color: #b3261e; }
.lt-val__vd.is-soon[b-af8cdxi8ye]    { background: #fff1e3; color: #a35a00; }
.lt-val__vd.is-near[b-af8cdxi8ye]    { background: #fff8dd; color: #8a6d00; }
.lt-val__vd.is-ok[b-af8cdxi8ye]      { background: var(--lt-success-tint, #e7f6ee); color: #1e6b46; }

/* Lotes por referência: cartão por ref, lotes (com stock + validade) por baixo */
/* flex-fill: a lista ocupa TODO o espaço vertical restante da página (sem teto fixo). */
.lt-val__reflist[b-af8cdxi8ye] { overflow-y: auto; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: .7rem; padding-right: .3rem; }
/* flex: none — sem isto os cartões encolhem (flex-shrink) para caber no max-height da lista. */
.lt-val__ref[b-af8cdxi8ye] { flex: none; border: 1px solid var(--lt-line); border-radius: var(--lt-radius); background: var(--lt-surface); overflow: hidden; }
.lt-val__refhd[b-af8cdxi8ye] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem .8rem; background: var(--lt-surface-2); border-bottom: 1px solid var(--lt-line); }
.lt-val__reftitle[b-af8cdxi8ye] { display: flex; flex-direction: column; min-width: 0; }
.lt-val__reftitle strong[b-af8cdxi8ye] { font-size: .9rem; color: var(--lt-ink); }
.lt-val__reftitle span[b-af8cdxi8ye] { font-size: .8rem; color: var(--lt-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lt-val__refmeta[b-af8cdxi8ye] { display: flex; align-items: center; gap: .6rem; white-space: nowrap; }
.lt-val__refstock[b-af8cdxi8ye] { font-size: .82rem; font-weight: 700; color: var(--lt-ink); }
.lt-val__refcount[b-af8cdxi8ye] { font-size: .74rem; color: var(--lt-muted); }
.lt-val__batches[b-af8cdxi8ye] { width: 100%; border-collapse: collapse; font-size: .84rem; }
.lt-val__batches th[b-af8cdxi8ye] { text-align: left; font-size: .7rem; text-transform: uppercase; letter-spacing: .03em; color: var(--lt-muted); padding: .4rem .8rem; border-bottom: 1px solid var(--lt-line); font-weight: 700; }
.lt-val__batches td[b-af8cdxi8ye] { padding: .4rem .8rem; border-bottom: 1px solid var(--lt-line); color: var(--lt-ink); }
.lt-val__batches tr:last-child td[b-af8cdxi8ye] { border-bottom: none; }
.lt-val__batches .c-num[b-af8cdxi8ye] { text-align: right; }
.lt-val__batchrow[b-af8cdxi8ye] { cursor: pointer; }
.lt-val__batchrow:hover td[b-af8cdxi8ye] { background: var(--lt-surface-2); }
.lt-val__batchrow.is-open td[b-af8cdxi8ye] { background: var(--lt-brand-tint); }
.lt-val__entradasrow > td[b-af8cdxi8ye] { padding: 0 .8rem .6rem; background: var(--lt-surface-2); }
.lt-val__entradas[b-af8cdxi8ye] { width: 100%; border-collapse: collapse; font-size: .8rem; margin-top: .4rem; }
.lt-val__entradas th[b-af8cdxi8ye] { text-align: left; font-size: .66rem; text-transform: uppercase; letter-spacing: .03em; color: var(--lt-muted); padding: .3rem .6rem; border-bottom: 1px solid var(--lt-line); font-weight: 700; }
.lt-val__entradas td[b-af8cdxi8ye] { padding: .3rem .6rem; border-bottom: 1px solid var(--lt-line); color: var(--lt-ink); }
.lt-val__entradas tr:last-child td[b-af8cdxi8ye] { border-bottom: none; }
.lt-val__entradas .c-num[b-af8cdxi8ye] { text-align: right; }

/* Movimentos: sinal subtil nas quantidades (entrada verde, saída vermelho) */
.lt-val__in[b-af8cdxi8ye]  { color: #1e6b46; font-weight: 600; }
.lt-val__out[b-af8cdxi8ye] { color: var(--lt-danger, #b3261e); font-weight: 600; }

.lt-val__flags[b-af8cdxi8ye] { white-space: nowrap; }
.lt-val__flag[b-af8cdxi8ye] {
    display: inline-block; min-width: 1.25rem; text-align: center; margin-right: .2rem;
    padding: .05rem .3rem; border-radius: 4px; font-size: .7rem; font-weight: 800;
    background: var(--lt-brand-tint); color: var(--lt-brand-700);
}
.lt-val__flag.is-psico[b-af8cdxi8ye] { background: #f3e8ff; color: #6b21a8; }
.lt-val__flag.is-benzo[b-af8cdxi8ye] { background: #e0f2fe; color: #075985; }

/* Atalho ⇄ da linha de lote → separador Movimentos filtrado por ref+lote. Discreto (ganha cor no hover
   da linha) — disciplina de ênfase: é uma ação, não um destaque. */
.c-act[b-af8cdxi8ye] { width: 34px; text-align: center; }
.lt-val__golink[b-af8cdxi8ye] {
    width: 26px; height: 26px;
    border: 1px solid var(--lt-line); border-radius: 6px;
    background: var(--lt-surface); color: var(--lt-muted);
    font-size: .8rem; cursor: pointer; line-height: 1;
}
.lt-val__batchrow:hover .lt-val__golink[b-af8cdxi8ye] { color: var(--lt-brand-700); border-color: var(--lt-brand); }
.lt-val__golink:hover[b-af8cdxi8ye] { background: var(--lt-brand-tint); }

/* Nota de âmbito do extrato inline (o extrato é do lote COMPLETO — todas as lojas/armazéns). */
.lt-val__scopehint[b-af8cdxi8ye] { margin: .45rem 0 0; font-size: .72rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Pages/Marcacoes.razor.rz.scp.css */
/* A agenda — bloco próprio `lt-marc`. Usa a largura toda (regra da casa: ecrãs de trabalho). */
.lt-marc[b-7r25fcmygd] { display: flex; flex-direction: column; min-height: 100vh; background: var(--lt-bg); outline: none; }
.lt-marc__corpo[b-7r25fcmygd] { display: flex; flex-direction: column; gap: .9rem; padding: 1rem 1.25rem 2rem; min-width: 0; }

.lt-marc__barra[b-7r25fcmygd] { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem 1rem; }
.lt-marc__dia[b-7r25fcmygd] { display: flex; align-items: flex-end; gap: .35rem; }
.lt-marc__vistas[b-7r25fcmygd] { display: inline-flex; }
.lt-marc__vistas .lt-btn[b-7r25fcmygd] { border-radius: 0; }
.lt-marc__vistas .lt-btn:first-child[b-7r25fcmygd] { border-radius: 8px 0 0 8px; }
.lt-marc__vistas .lt-btn:last-child[b-7r25fcmygd] { border-radius: 0 8px 8px 0; }
.lt-marc__vistas .lt-btn + .lt-btn[b-7r25fcmygd] { margin-left: -1px; }
.lt-marc__vistas .lt-btn.is-on[b-7r25fcmygd] { background: var(--lt-brand); border-color: var(--lt-brand); color: #fff; }
.lt-marc__cliente[b-7r25fcmygd] { min-width: 16rem; flex: 1 1 16rem; max-width: 28rem; }

.lt-marc__msg[b-7r25fcmygd] { margin: 0; padding: 2rem .5rem; text-align: center; color: var(--lt-muted); }

.lt-marc__docliente[b-7r25fcmygd] { display: flex; flex-direction: column; gap: .5rem; padding: .75rem 1rem; border: 1px solid var(--lt-line);
                      border-radius: 8px; background: var(--lt-surface); }
.lt-marc__docliente h3[b-7r25fcmygd] { margin: 0; font-size: .9rem; }
.lt-marc__docliente .lt-marc__msg[b-7r25fcmygd] { padding: .25rem 0; text-align: left; }
.lt-marc__docliente-lista[b-7r25fcmygd] { display: flex; flex-wrap: wrap; gap: .4rem; }
.lt-marc__docliente[b-7r25fcmygd] >  .lt-btn { align-self: flex-start; }

.lt-marc__chip[b-7r25fcmygd] {
    display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .6rem;
    border: 1px solid var(--lt-line); border-radius: 8px; background: var(--lt-surface); color: var(--lt-ink);
    font-size: .84rem; cursor: pointer; text-align: left;
}
.lt-marc__chip:hover[b-7r25fcmygd] { background: var(--lt-surface-2); }
.lt-marc__chip:focus-visible[b-7r25fcmygd] { outline: 2px solid var(--lt-brand); outline-offset: 2px; }
.lt-marc__chip span[b-7r25fcmygd] { color: var(--lt-ink-2); }

/* A última ação da lista, com «Desfazer»: uma linha discreta (estado, não alarme). */
.lt-marc__feito[b-7r25fcmygd] {
    display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .45rem .75rem;
    border: 1px solid var(--lt-line); border-radius: 8px; background: var(--lt-surface); font-size: .86rem;
}
.lt-marc__chip small[b-7r25fcmygd] { color: var(--lt-muted); }
.lt-marc__chip:disabled[b-7r25fcmygd] { cursor: default; opacity: 1; background: var(--lt-surface-2); }
/* A lista do dia só para o papel (a grelha não cabe nele). */
.lt-marc__so-impressao[b-7r25fcmygd] { display: none; }

.lt-marc__grupo[b-7r25fcmygd] { list-style: none; margin: 0 0 .75rem; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.lt-marc__grupo .lt-marc__chip[b-7r25fcmygd] { width: 100%; justify-content: space-between; }
.lt-marc__hist[b-7r25fcmygd] { margin: .5rem 0 0; padding-left: 1.1rem; font-size: .84rem; color: var(--lt-ink-2); }

/* Ecrã estreito: a barra empilha; a grelha continua a rolar por dentro. */
@media (max-width: 720px) {
    .lt-marc__corpo[b-7r25fcmygd] { padding: .75rem; }
    .lt-marc__cliente[b-7r25fcmygd] { max-width: none; }
}

/* Imprimir o dia: só o período e a grelha ou a lista. */
@media print {
    .lt-marc__barra[b-7r25fcmygd], .lt-marc__docliente[b-7r25fcmygd], .lt-marc__feito[b-7r25fcmygd] { display: none; }
    .lt-marc__grelha--dia[b-7r25fcmygd] { display: none; }   /* o Dia imprime a lista; a Semana imprime a grelha (sete colunas cabem) */
    .lt-marc__so-impressao[b-7r25fcmygd] { display: block; }
    .lt-marc[b-7r25fcmygd]  .lt-pagehead__acoes { display: none; }
    .lt-marc[b-7r25fcmygd] { min-height: 0; background: none; }
}
/* _content/Logitools.Client.Shared/Pages/MinhaConta.razor.rz.scp.css */
/* "A minha conta" — página de definições pessoais.

   Largura: TODA. ⚠️ CORREÇÃO DO DONO (2026-08-11): "não estamos a usar a totalidade do ecrã". Eu
   tinha posto max-width a pensar em legibilidade — mas a legibilidade vem de cada CARTÃO ter largura
   própria na grelha responsiva, não de deixar metade do ecrã vazio. */

.lt-mc[b-01swlcs3v9] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

/* Colunas EXPLÍCITAS e não auto-fit. Motivo medido (2026-08-11): com `auto-fit`, o cartão que
   ocupa `1 / -1` preenche todas as pistas, logo nenhuma colapsa — num monitor largo sobrava uma
   coluna vazia à direita. Com contagem explícita, a linha fecha sempre exatamente.

   align-items: start — sem isto, todos os cartões de uma linha esticam à altura do mais alto e o
   "Língua" ficava com metade de espaço em branco lá dentro. */
.lt-mc__body[b-01swlcs3v9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-content: start;
    align-items: start;
    padding: 16px;
    width: 100%;
    overflow-y: auto;
}

@media (max-width: 1500px) {
    .lt-mc__body[b-01swlcs3v9] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
    .lt-mc__body[b-01swlcs3v9] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .lt-mc__body[b-01swlcs3v9] { grid-template-columns: minmax(0, 1fr); }

    /* Numa só coluna, `span 2` transbordaria a grelha. */
    .lt-mc__card--duplo[b-01swlcs3v9] { grid-column: span 1; }
}

.lt-mc__card[b-01swlcs3v9] {
    background: var(--surface, #fff);
    border: 1px solid var(--border, #e3e6ea);
    border-radius: 10px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Dois cartões de LISTA (histórico, permissões) ocupam 2 colunas cada: numa grelha de 4 a segunda
   linha fecha exactamente, e uma lista de datas+motivos lê-se melhor larga do que estreita.
   `1 / -1` (largura toda) foi deliberadamente abandonado — era ele que impedia o auto-fit de
   colapsar colunas e deixava um buraco à direita. */
.lt-mc__card--duplo[b-01swlcs3v9] {
    grid-column: span 2;
}

.lt-mc__card h2[b-01swlcs3v9] {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.lt-mc__count[b-01swlcs3v9] {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--muted, #6b7280);
    background: var(--surface-alt, #f3f4f6);
    border-radius: 999px;
    padding: 1px 8px;
}

.lt-mc__dl[b-01swlcs3v9] {
    margin: 0;
    display: grid;
    gap: 8px;
}

.lt-mc__dl > div[b-01swlcs3v9] {
    display: grid;
    grid-template-columns: minmax(110px, 40%) 1fr;
    gap: 10px;
    align-items: baseline;
}

.lt-mc__dl dt[b-01swlcs3v9] {
    color: var(--muted, #6b7280);
    font-size: 0.82rem;
}

.lt-mc__dl dd[b-01swlcs3v9] {
    margin: 0;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.lt-mc__form[b-01swlcs3v9] {
    display: grid;
    gap: 10px;
}

.lt-mc__msg[b-01swlcs3v9] {
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 0.85rem;
}

.lt-mc__msg.is-ok[b-01swlcs3v9] {
    background: #e8f5ec;
    color: #1c6b38;
}

.lt-mc__msg.is-error[b-01swlcs3v9] {
    background: #fdeceb;
    color: #a3241d;
}

.lt-mc__langs[b-01swlcs3v9] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.lt-mc__lang[b-01swlcs3v9] {
    border: 1px solid var(--border, #e3e6ea);
    background: var(--surface, #fff);
    border-radius: 999px;
    padding: 5px 14px;
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
}

.lt-mc__lang.is-active[b-01swlcs3v9] {
    border-color: var(--brand, #4aa3df);
    background: var(--brand, #4aa3df);
    color: #fff;
}

/* As permissões são uma consulta, não um painel de controlo: lista densa, sem realce nenhum
   (regra do dono — realce = estado acionável, nunca "isto é importante"). */
.lt-mc__perms[b-01swlcs3v9] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 4px 16px;
    font-size: 0.82rem;
    font-family: var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    color: var(--text, #1f2933);
    max-height: 320px;
    overflow-y: auto;
}

/* Acessos: empresa em destaque, lojas em texto secundário — a hierarquia faz-se com peso e cor,
   sem caixas nem realces (regra: realce = estado acionável). */
.lt-mc__acessos[b-01swlcs3v9] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

.lt-mc__acessos li[b-01swlcs3v9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.lt-mc__acessos li span[b-01swlcs3v9] {
    font-size: 0.82rem;
    color: var(--muted, #6b7280);
}

/* Histórico: as FALHAS são o que se procura aqui, por isso são a única coisa realçada — e com cor
   E texto, nunca só cor (regra: realce = estado acionável; e quem não distingue vermelho tem de
   conseguir ler a diferença). */
.lt-mc__hist[b-01swlcs3v9] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
    font-size: 0.82rem;
    max-height: 260px;
    overflow-y: auto;
}

.lt-mc__hist li[b-01swlcs3v9] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--border-soft, #f0f2f4);
}

.lt-mc__hist li:last-child[b-01swlcs3v9] {
    border-bottom: 0;
}

.lt-mc__histdata[b-01swlcs3v9] {
    font-variant-numeric: tabular-nums;
    color: var(--muted, #6b7280);
    white-space: nowrap;
}

.lt-mc__hist li.is-falhado .lt-mc__histmotivo[b-01swlcs3v9] {
    color: #a3241d;
    font-weight: 600;
}

.lt-mc__note[b-01swlcs3v9] {
    margin: 0;
    font-size: 0.78rem;
    color: var(--muted, #6b7280);
    line-height: 1.45;
}
/* _content/Logitools.Client.Shared/Pages/PainelCentral.razor.rz.scp.css */
.lt-pc[b-uehmodm7na] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--lt-bg);
    font-family: var(--lt-font);
    color: var(--lt-ink);
}

/* ---- Page strip ---- */
.lt-pc__pages[b-uehmodm7na] {
    display: flex;
    align-items: center;
    gap: .35rem;
    min-height: 46px;
    padding: .35rem 1rem;
    overflow-x: auto;
    background: #172432;
    border-top: 1px solid rgba(255, 255, 255, .06);
    border-bottom: 1px solid rgba(15, 23, 42, .2);
}

.lt-pc__pagebtn[b-uehmodm7na] {
    border: none;
    background: transparent;
    color: rgba(238, 243, 246, .72);
    font-size: .9rem;
    font-weight: 600;
    padding: .5rem .9rem;
    border-radius: var(--lt-radius-sm);
    cursor: pointer;
    transition: background .12s, color .12s;
}

.lt-pc__pagebtn:hover[b-uehmodm7na] { background: rgba(255, 255, 255, .08); color: #fff; }

.lt-pc__pagebtn.is-active[b-uehmodm7na] {
    background: var(--lt-brand);
    color: #fff;
    box-shadow: 0 4px 12px var(--lt-brand-glow);
}

/* ---- Body ---- */
.lt-pc__body[b-uehmodm7na] {
    flex: 1;
    padding: 2rem clamp(1rem, 4vw, 3rem);
    overflow-y: auto;
}

.lt-pc__grid[b-uehmodm7na] {
    display: grid;
    /* Todas as linhas com a MESMA altura. Sem isto, a linha que tem um cartao de titulo com duas
       linhas («Comparticipacao / Planos») fica mais alta do que as outras. */
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1.1rem;
    max-width: 1200px;
    margin: 0 auto;
}

.lt-pc__tile[b-uehmodm7na] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    /* ⚠️ Aqui estava `aspect-ratio: 1 / .82`, e era ele que partia o alinhamento (medido no ecra,
       2026-08-17: 117px nos titulos de uma linha, 134px nos de duas, LADO A LADO). Duas razoes:
       o conteudo cresce por cima da razao, e um item com aspect-ratio deixa de esticar na grelha
       — a razao ja lhe da uma altura definida, por isso o `stretch` nao se aplica. O piso abaixo
       da o tamanho minimo; a igualdade vem do `grid-auto-rows: 1fr`. */
    min-height: 7rem;
    padding: 1rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius);
    background: var(--lt-surface);
    box-shadow: var(--lt-shadow);
    cursor: pointer;
    transition: transform .12s, box-shadow .12s, border-color .12s;
}

.lt-pc__tile:hover[b-uehmodm7na] {
    transform: translateY(-3px);
    border-color: var(--lt-brand);
    box-shadow: var(--lt-shadow-lg);
}

.lt-pc__icon[b-uehmodm7na] {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.7rem;
    border-radius: 18px;
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
}

.lt-pc__label[b-uehmodm7na] {
    font-size: .86rem;
    font-weight: 600;
    text-align: center;
    color: var(--lt-ink-2);
    line-height: 1.25;
    /* ⚠️ 2026-08-19 (2.º relato do dono): «os cartões têm tamanhos diferentes POR SEPARADOR».
       Medido: a altura do cartão = ícone + rótulo, e o rótulo ocupa 1 linha em «Compras» e 2 em
       «Farmácia» («Comparticipação / Planos»). O `grid-auto-rows: 1fr` só iguala DENTRO da grelha
       de cada separador — entre separadores, não. Reservar sempre DUAS linhas torna a altura
       constante em todo o lado, com ou sem quebra. */
    min-height: 2.5em;               /* 2 × line-height */
    display: flex; align-items: center; justify-content: center;
    /* Um nome que precisasse de 3 linhas voltaria a partir a igualdade: corta-se com reticências
       (o nome completo fica no title do botão). */
    overflow: hidden;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}

/* Controlled substances (psico/benzo) — danger accent */
.lt-pc__tile.is-controlled:hover[b-uehmodm7na] { border-color: var(--lt-danger); }
.lt-pc__tile.is-controlled .lt-pc__icon[b-uehmodm7na] { background: var(--lt-danger-tint); color: var(--lt-danger); }

/* Not-yet-migrated modules — dimmed with a "brevemente" badge, still clickable (info modal). */
.lt-pc__tile.is-soon[b-uehmodm7na] { position: relative; opacity: .62; box-shadow: none; border-style: dashed; }
.lt-pc__tile.is-soon:hover[b-uehmodm7na] { transform: none; border-color: var(--lt-line); box-shadow: none; }
.lt-pc__tile.is-soon .lt-pc__icon[b-uehmodm7na] { background: var(--lt-surface-2); color: var(--lt-muted); filter: grayscale(1); }
.lt-pc__soon[b-uehmodm7na] {
    position: absolute; top: .5rem; right: .5rem;
    font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
    padding: .1rem .35rem; border-radius: 999px;
    background: var(--lt-warning-tint); color: #8a5a12;
}

/* ---- Messages / states ---- */
.lt-pc__msg[b-uehmodm7na] {
    text-align: center;
    color: var(--lt-muted);
    font-size: .95rem;
    margin-top: 3rem;
}

.lt-pc__msg--err[b-uehmodm7na] { color: var(--lt-danger); }

/* ---- Module modal ---- */
.lt-pc__overlay[b-uehmodm7na] {
    position: fixed;
    inset: 0;
    background: rgba(28, 43, 58, .5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
}

.lt-pc__modal[b-uehmodm7na] {
    background: var(--lt-surface);
    border-radius: var(--lt-radius);
    box-shadow: var(--lt-shadow-lg);
    padding: 2rem;
    width: min(90vw, 380px);
    text-align: center;
}

.lt-pc__modalicon[b-uehmodm7na] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    font-size: 2rem;
    border-radius: 20px;
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    margin-bottom: .5rem;
}

.lt-pc__modal h2[b-uehmodm7na] { margin: .25rem 0 .5rem; color: var(--lt-ink); font-size: 1.2rem; }

.lt-pc__modaltag[b-uehmodm7na] {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--lt-warning);
    background: #fff6e8;
    border-radius: 999px;
    padding: .2rem .7rem;
    margin: 0 0 1rem;
}

.lt-pc__modalcmd[b-uehmodm7na] {
    font-size: .78rem;
    color: var(--lt-muted);
    margin: 0 0 1.25rem;
    word-break: break-word;
}

.lt-pc__modalcmd code[b-uehmodm7na] {
    background: var(--lt-surface-2);
    border: 1px solid var(--lt-line);
    border-radius: 6px;
    padding: .1rem .35rem;
    color: var(--lt-ink-2);
}

.lt-pc__modalbtn[b-uehmodm7na] {
    width: 100%;
    padding: .65rem;
    border: none;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand);
    color: #fff;
    font-size: .95rem;
    font-weight: 600;
    cursor: pointer;
}

.lt-pc__modalbtn:hover[b-uehmodm7na] { background: var(--lt-brand-600); }

@media (max-width: 640px) {
    .lt-pc__grid[b-uehmodm7na] { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
}
/* _content/Logitools.Client.Shared/Pages/Recibos.razor.rz.scp.css */
/* O módulo Recibos — só o que o tema não tem (bloco próprio «lt-recs»). */
.lt-recs__hora[b-087uz9t7sw] { color: var(--lt-muted); font-size: .8rem; margin-left: .25rem; }
.lt-recs__ent[b-087uz9t7sw] { display: flex; flex-direction: column; gap: .15rem; font-size: .88rem; color: var(--lt-ink-2); }
.lt-recs__ent strong[b-087uz9t7sw] { color: var(--lt-ink); font-size: .98rem; }
.lt-recs__tot[b-087uz9t7sw] { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 0; }
.lt-recs__tot div[b-087uz9t7sw] { display: flex; gap: .4rem; align-items: baseline; }
.lt-recs__tot dt[b-087uz9t7sw] { color: var(--lt-muted); font-size: .82rem; }
.lt-recs__tot dd[b-087uz9t7sw] { margin: 0; font-variant-numeric: tabular-nums; }
/* _content/Logitools.Client.Shared/Pages/ReportsCenter.razor.rz.scp.css */
.lt-rpt[b-92dvekunpz] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--lt-bg);
    font-family: var(--lt-font);
    color: var(--lt-ink);
}

.lt-rpt__shell[b-92dvekunpz] {
    flex: 1;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(280px, 340px) minmax(280px, 380px) minmax(360px, 1fr);
    gap: 1px;
    background: var(--lt-line);
}

.lt-rpt__catalog[b-92dvekunpz],
.lt-rpt__work[b-92dvekunpz],
.lt-rpt__preview[b-92dvekunpz] {
    min-width: 0;
    min-height: 0;
    background: var(--lt-surface);
    overflow: auto;
}

.lt-rpt__filters[b-92dvekunpz],
.lt-rpt__form[b-92dvekunpz] {
    padding: 1rem;
    border-bottom: 1px solid var(--lt-line);
}

.lt-rpt__filterrow[b-92dvekunpz],
.lt-rpt__params[b-92dvekunpz] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.lt-rpt__params[b-92dvekunpz] {
    margin-top: 1rem;
}

.lt-rpt__f[b-92dvekunpz] {
    display: flex;
    flex-direction: column;
    gap: .22rem;
}

.lt-rpt__f span[b-92dvekunpz] {
    color: var(--lt-muted);
    font-size: .72rem;
    font-weight: 700;
}

.lt-rpt__f input[b-92dvekunpz],
.lt-rpt__f select[b-92dvekunpz] {
    box-sizing: border-box;
    min-width: 0;
    height: 36px;
    padding: .42rem .55rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: #fff;
    font: inherit;
    font-size: .86rem;
}
/* <select> nativo tem chevron próprio e caixa diferente — normalizar p/ igualar os inputs. */
.lt-rpt__f select[b-92dvekunpz] {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    padding-right: 1.8rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%237a8590' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .55rem center; background-size: 11px 7px;
}

.lt-rpt__f input:focus[b-92dvekunpz],
.lt-rpt__f select:focus[b-92dvekunpz] {
    outline: none;
    border-color: var(--lt-brand);
    box-shadow: 0 0 0 3px var(--lt-brand-glow);
}

.lt-rpt__list[b-92dvekunpz] {
    padding: .5rem;
}

.lt-rpt__item[b-92dvekunpz] {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    min-height: 58px;
    padding: .55rem;
    border: none;
    border-radius: var(--lt-radius-sm);
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.lt-rpt__item:hover[b-92dvekunpz],
.lt-rpt__item.is-active[b-92dvekunpz] {
    background: var(--lt-brand-tint);
}

.lt-rpt__item.is-active[b-92dvekunpz] {
    box-shadow: inset 3px 0 0 var(--lt-brand);
}

.lt-rpt__itemcode[b-92dvekunpz],
.lt-rpt__badge[b-92dvekunpz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-weight: 800;
}

.lt-rpt__itemcode[b-92dvekunpz] {
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    font-size: .78rem;
}

.lt-rpt__itembody[b-92dvekunpz] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.lt-rpt__itembody strong[b-92dvekunpz],
.lt-rpt__itembody small[b-92dvekunpz] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lt-rpt__itembody strong[b-92dvekunpz] {
    font-size: .9rem;
}

.lt-rpt__itembody small[b-92dvekunpz] {
    color: var(--lt-muted);
    font-size: .76rem;
}

.lt-rpt__head[b-92dvekunpz] {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.lt-rpt__head div[b-92dvekunpz] {
    flex: 1;
    min-width: 0;
}

.lt-rpt__head h2[b-92dvekunpz] {
    margin: 0;
    font-size: 1.05rem;
}

.lt-rpt__head p[b-92dvekunpz] {
    margin: .25rem 0 0;
    color: var(--lt-muted);
    font-size: .82rem;
    line-height: 1.35;
}

.lt-rpt__badge[b-92dvekunpz] {
    min-width: 52px;
    height: 30px;
    padding: 0 .55rem;
    font-size: .72rem;
}

.lt-rpt__actions[b-92dvekunpz] {
    display: flex;
    gap: .55rem;
    margin-top: 1rem;
}

.lt-rpt__primary[b-92dvekunpz],
.lt-rpt__secondary[b-92dvekunpz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: .5rem 1rem;
    border-radius: var(--lt-radius-sm);
    font-weight: 700;
    font-size: .9rem;
    text-decoration: none;
    cursor: pointer;
}

.lt-rpt__primary[b-92dvekunpz] {
    border: none;
    background: var(--lt-brand);
    color: #fff;
}

.lt-rpt__primary:hover:not(:disabled)[b-92dvekunpz] {
    background: var(--lt-brand-600);
}

.lt-rpt__primary:disabled[b-92dvekunpz] {
    opacity: .65;
}

.lt-rpt__secondary[b-92dvekunpz] {
    border: 1px solid var(--lt-line);
    background: var(--lt-surface);
    color: var(--lt-ink);
}

.lt-rpt__previewfallback[b-92dvekunpz] {
    margin: 1rem;
    padding: 1rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    color: var(--lt-muted);
    background: var(--lt-surface-2);
}

.lt-rpt__preview[b-92dvekunpz] {
    display: flex;
    flex-direction: column;
}

.lt-rpt__previewbar[b-92dvekunpz] {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .65rem .85rem;
    border-bottom: 1px solid var(--lt-line);
    color: var(--lt-muted);
    font-size: .78rem;
    font-weight: 700;
}

.lt-rpt__frame[b-92dvekunpz] {
    flex: 1;
    width: 100%;
    min-height: 0;
    border: none;
    background: var(--lt-bg);
}

.lt-rpt__state[b-92dvekunpz],
.lt-rpt__empty[b-92dvekunpz] {
    margin: 1rem;
    color: var(--lt-muted);
    font-size: .88rem;
}

.lt-rpt__empty[b-92dvekunpz] {
    margin-top: 2rem;
    text-align: center;
}

.lt-rpt__state--err[b-92dvekunpz] {
    color: var(--lt-danger);
}

.lt-rpt__warning[b-92dvekunpz] {
    margin: 0;
    padding: .55rem .85rem;
    border-top: 1px solid #f1dfbd;
    background: #fff8ea;
    color: #7b5619;
    font-size: .76rem;
}

@media (max-width: 1180px) {
    .lt-rpt__shell[b-92dvekunpz] {
        grid-template-columns: minmax(270px, 330px) minmax(360px, 1fr);
    }

    .lt-rpt__preview[b-92dvekunpz] {
        grid-column: 1 / -1;
        min-height: 520px;
    }
}

@media (max-width: 760px) {
    .lt-rpt__shell[b-92dvekunpz] {
        grid-template-columns: 1fr;
    }

    .lt-rpt__catalog[b-92dvekunpz],
    .lt-rpt__work[b-92dvekunpz],
    .lt-rpt__preview[b-92dvekunpz] {
        min-height: 340px;
    }
}

/* Veredicto da validação de schema SAF-T */
.lt-saft__verdict[b-92dvekunpz] {
    padding: .85rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.lt-saft__ok[b-92dvekunpz] {
    margin: 0;
    font-weight: 600;
    color: #0f7b34;
}

.lt-saft__err[b-92dvekunpz] {
    margin: 0;
    font-weight: 600;
    color: var(--lt-danger);
}

.lt-saft__problems[b-92dvekunpz] {
    margin: 0;
    padding: .5rem .75rem .5rem 1.5rem;
    max-height: 320px;
    overflow: auto;
    background: var(--lt-surface-2);
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-size: .82rem;
    color: var(--lt-ink);
}

.lt-saft__problems li[b-92dvekunpz] {
    margin: .15rem 0;
    word-break: break-word;
}
/* _content/Logitools.Client.Shared/Pages/Resumos.razor.rz.scp.css */
.lt-rs[b-7zkzujxoqj] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.lt-rs__body[b-7zkzujxoqj] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 1.25rem clamp(1rem, 3vw, 2.5rem);
}
/* _content/Logitools.Client.Shared/Pages/StocksSearch.razor.rz.scp.css */
.lt-stk[b-8ah3fr6ze1] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--lt-bg);
    font-family: var(--lt-font);
    color: var(--lt-ink);
}

/* ---- Filters ---- */
.lt-stk__filters[b-8ah3fr6ze1] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .6rem 0.75rem;
    padding: .8rem 1rem;
    background: var(--lt-surface);
    border-bottom: 1px solid var(--lt-line);
}

.lt-stk__f[b-8ah3fr6ze1] { display: flex; flex-direction: column; gap: .2rem; }
.lt-stk__f span[b-8ah3fr6ze1] { font-size: .72rem; font-weight: 600; color: var(--lt-muted); }
.lt-stk__f input[b-8ah3fr6ze1], .lt-stk__f select[b-8ah3fr6ze1] {
    box-sizing: border-box;
    padding: .45rem .55rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    font-size: .9rem;
    min-width: 130px;
}
/* <select> nativo renderiza mais baixo que o input — appearance:none + chevron próprio alinha-o. */
.lt-stk__f select[b-8ah3fr6ze1] {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    padding-right: 1.8rem; background-color: var(--lt-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%237a8590' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right .55rem center; background-size: 11px 7px;
}
.lt-stk__f--grow[b-8ah3fr6ze1] { flex: 1; min-width: 240px; }
.lt-stk__f--grow input[b-8ah3fr6ze1] { width: 100%; }
.lt-stk__f--narrow input[b-8ah3fr6ze1], .lt-stk__f--narrow select[b-8ah3fr6ze1] { min-width: 90px; }
.lt-stk__f input:focus[b-8ah3fr6ze1], .lt-stk__f select:focus[b-8ah3fr6ze1] {
    outline: none;
    border-color: var(--lt-brand);
    box-shadow: 0 0 0 3px var(--lt-brand-glow);
}

.lt-stk__checks[b-8ah3fr6ze1] { display: flex; gap: .9rem; padding-bottom: .5rem; font-size: .82rem; color: var(--lt-ink-2); }
.lt-stk__checks label[b-8ah3fr6ze1] { display: flex; align-items: center; gap: .3rem; cursor: pointer; }

.lt-stk__searchbtn[b-8ah3fr6ze1] {
    padding: .55rem 1.4rem;
    border: none;
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand);
    color: #fff;
    font-weight: 600;
    font-size: .92rem;
    cursor: pointer;
}
.lt-stk__searchbtn:hover:not(:disabled)[b-8ah3fr6ze1] { background: var(--lt-brand-600); }
.lt-stk__searchbtn:disabled[b-8ah3fr6ze1] { opacity: .6; }

.lt-stk__newbtn[b-8ah3fr6ze1] {
    padding: .55rem 1.1rem;
    border: 1px solid var(--lt-brand);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-weight: 600;
    font-size: .92rem;
    cursor: pointer;
}
.lt-stk__newbtn:hover:not(:disabled)[b-8ah3fr6ze1] { background: var(--lt-brand); color: #fff; }
.lt-stk__newbtn:disabled[b-8ah3fr6ze1] { opacity: .6; }

/* ---- Results ---- */
.lt-stk__body[b-8ah3fr6ze1] { flex: 1; padding: 1rem; overflow: auto; }
.lt-stk__count[b-8ah3fr6ze1] { font-size: .78rem; color: var(--lt-muted); margin-bottom: .4rem; }
.lt-stk__msg[b-8ah3fr6ze1] { text-align: center; margin-top: 3rem; color: var(--lt-muted); }
.lt-stk__msg--err[b-8ah3fr6ze1] { color: var(--lt-danger); }

.lt-stk__gridwrap[b-8ah3fr6ze1] { overflow-x: auto; background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius); }

.lt-stk__grid[b-8ah3fr6ze1] { width: 100%; border-collapse: collapse; font-size: .85rem; }
.lt-stk__grid th[b-8ah3fr6ze1] {
    text-align: left;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--lt-muted);
    padding: .55rem .6rem;
    border-bottom: 2px solid var(--lt-line);
    white-space: nowrap;
    position: sticky; top: 0;
    background: var(--lt-surface);
}
.lt-stk__grid td[b-8ah3fr6ze1] { padding: .45rem .6rem; border-bottom: 1px solid var(--lt-surface-2); white-space: nowrap; }
.lt-stk__grid tbody tr[b-8ah3fr6ze1] { cursor: pointer; }
.lt-stk__grid tbody tr:hover[b-8ah3fr6ze1] { background: var(--lt-brand-tint); }
.lt-stk__grid tbody tr.is-selected[b-8ah3fr6ze1] { background: var(--lt-brand-tint); box-shadow: inset 3px 0 0 var(--lt-brand); }
.lt-stk__grid tbody tr.is-inactive td[b-8ah3fr6ze1] { color: var(--lt-muted); text-decoration: line-through; }
.lt-stk__grid tbody tr.is-synthetic td[b-8ah3fr6ze1] { font-weight: 700; background: var(--lt-surface-2); }

.c-ref[b-8ah3fr6ze1] { font-weight: 600; }
.c-design[b-8ah3fr6ze1] { white-space: normal !important; min-width: 220px; }
.c-num[b-8ah3fr6ze1] { text-align: right; font-variant-numeric: tabular-nums; }
.c-muted[b-8ah3fr6ze1] { color: var(--lt-muted); }
.c-flags[b-8ah3fr6ze1] { white-space: nowrap; }

/* traffic-light stock */
.lt-stk__stock[b-8ah3fr6ze1] { font-weight: 700; padding: .1rem .45rem; border-radius: 999px; }
.lt-stk__stock.is-green[b-8ah3fr6ze1] { color: #1c7a4d; background: #e3f5eb; }
.lt-stk__stock.is-orange[b-8ah3fr6ze1] { color: #9a6200; background: #fff2d9; }
.lt-stk__stock.is-red[b-8ah3fr6ze1] { color: var(--lt-danger); background: var(--lt-danger-tint); }

.lt-stk__flag[b-8ah3fr6ze1] {
    display: inline-block;
    min-width: 18px;
    text-align: center;
    font-size: .7rem;
    font-weight: 700;
    color: var(--lt-brand-700);
    background: var(--lt-brand-tint);
    border-radius: 4px;
    padding: .05rem .25rem;
    margin-left: .2rem;
}
.lt-stk__flag--danger[b-8ah3fr6ze1] { color: var(--lt-danger); background: var(--lt-danger-tint); }
.lt-stk__flag--muted[b-8ah3fr6ze1] { color: var(--lt-muted); background: var(--lt-surface-2); }

/* ---- Detail drawer ---- */
.lt-stk__drawer[b-8ah3fr6ze1] {
    position: fixed;
    /* Começa abaixo do WorkHeader — o topo (pesquisa, loja, relógio, conta) fica sempre visível. */
    top: var(--lt-wh-h); right: 0; bottom: 0;
    width: min(480px, 92vw);
    background: var(--lt-surface);
    box-shadow: -12px 0 40px rgba(28,43,58,.18);
    padding: 1.25rem;
    overflow-y: auto;
    z-index: 40;
}

.lt-stk__drawerhead[b-8ah3fr6ze1] { display: flex; align-items: flex-start; gap: .75rem; }
.lt-stk__drawerhead h2[b-8ah3fr6ze1] { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.lt-stk__drawerhead p[b-8ah3fr6ze1] { margin: .15rem 0 0; font-size: .8rem; color: var(--lt-muted); }
.lt-stk__drawerhead div:first-child[b-8ah3fr6ze1] { flex: 1; }

.lt-stk__close[b-8ah3fr6ze1] {
    width: 30px; height: 30px;
    border: none; border-radius: 50%;
    background: var(--lt-surface-2);
    cursor: pointer;
    color: var(--lt-ink-2);
}
.lt-stk__close:hover[b-8ah3fr6ze1] { background: var(--lt-danger); color: #fff; }

.lt-stk__facts[b-8ah3fr6ze1] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: .5rem;
    margin: 1rem 0;
}
.lt-stk__facts div[b-8ah3fr6ze1] {
    background: var(--lt-surface-2);
    border-radius: var(--lt-radius-sm);
    padding: .5rem;
    text-align: center;
}
.lt-stk__facts span[b-8ah3fr6ze1] { display: block; font-size: .68rem; color: var(--lt-muted); }
.lt-stk__facts strong[b-8ah3fr6ze1] { font-size: .95rem; }
.lt-stk__stockformula[b-8ah3fr6ze1] {
    margin: -.55rem 0 .9rem;
    text-align: center;
    color: var(--lt-muted);
    font-size: .74rem;
}

.lt-stk__tabs[b-8ah3fr6ze1] { display: flex; gap: .25rem; margin-bottom: .75rem; }
.lt-stk__tabs button[b-8ah3fr6ze1] {
    flex: 1;
    padding: .5rem;
    border: 1px solid var(--lt-line);
    background: var(--lt-surface);
    border-radius: var(--lt-radius-sm);
    font-size: .82rem;
    font-weight: 600;
    color: var(--lt-ink-2);
    cursor: pointer;
}
.lt-stk__tabs button.is-active[b-8ah3fr6ze1] {
    background: var(--lt-brand);
    border-color: var(--lt-brand);
    color: #fff;
}

.lt-stk__grid--small[b-8ah3fr6ze1] { font-size: .8rem; }

/* Nota de limite dos movimentos recentes no painel. */
.lt-stk__cap[b-8ah3fr6ze1] { margin: 0 0 .5rem; font-size: .74rem; color: var(--lt-muted); }

/* Atalho "ver todos os documentos" (deep-link para o extrato completo). */
.lt-stk__alllink[b-8ah3fr6ze1] {
    width: 100%;
    margin-top: .6rem;
    padding: .55rem;
    border: 1px solid var(--lt-line);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-surface);
    color: var(--lt-brand-700);
    font-weight: 600;
    font-size: .84rem;
    cursor: pointer;
}
.lt-stk__alllink:hover[b-8ah3fr6ze1] { background: var(--lt-brand-tint); border-color: var(--lt-brand); }

.lt-stk__fichabtn[b-8ah3fr6ze1] {
    width: 100%;
    padding: .6rem;
    margin-bottom: 1rem;
    border: 1px solid var(--lt-brand);
    border-radius: var(--lt-radius-sm);
    background: var(--lt-brand-tint);
    color: var(--lt-brand-700);
    font-weight: 600;
    font-size: .9rem;
    cursor: pointer;
}
.lt-stk__fichabtn:hover:not(:disabled)[b-8ah3fr6ze1] { background: var(--lt-brand); color: #fff; }
.lt-stk__fichabtn:disabled[b-8ah3fr6ze1] { opacity: .6; }

.lt-stk__dictbtn[b-8ah3fr6ze1] {
    width: 100%;
    padding: .6rem;
    margin: -.55rem 0 1rem;
    border: 1px solid #11a669;
    border-radius: var(--lt-radius-sm);
    background: #e6f7ef;
    color: #087345;
    font-weight: 700;
    font-size: .9rem;
    cursor: pointer;
}
.lt-stk__dictbtn:hover:not(:disabled)[b-8ah3fr6ze1] { background: #11a669; color: #fff; }
.lt-stk__dictbtn:disabled[b-8ah3fr6ze1] { opacity: .6; }

.lt-stk__hint[b-8ah3fr6ze1] {
    margin: -.35rem 0 .85rem;
    padding: .45rem .55rem;
    border-radius: var(--lt-radius-sm);
    font-size: .82rem;
    font-weight: 600;
}
.lt-stk__hint.is-ok[b-8ah3fr6ze1] { color: #087345; background: #e6f7ef; }
.lt-stk__hint.is-error[b-8ah3fr6ze1] { color: var(--lt-danger); background: var(--lt-danger-tint); }
/* _content/Logitools.Client.Shared/Pages/Styleguide.razor.rz.scp.css */
.lt-sg[b-3zarst8m2z] { min-height: 100vh; display: flex; flex-direction: column; background: var(--lt-bg); font-family: var(--lt-font); }
.lt-sg__body[b-3zarst8m2z] { padding: 1.4rem clamp(1rem, 4vw, 3rem) 3rem; }
.lt-sg__intro[b-3zarst8m2z] { max-width: 720px; color: var(--lt-ink-2); font-size: .95rem; }
.lt-sg__intro code[b-3zarst8m2z] { background: var(--lt-surface); padding: .05rem .3rem; border-radius: 4px; border: 1px solid var(--lt-line); }

.lt-sg__sec[b-3zarst8m2z] {
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius);
    padding: 1.1rem 1.3rem; margin: 1rem 0; box-shadow: var(--lt-shadow);
}
.lt-sg__sec h2[b-3zarst8m2z] {
    margin: 0 0 1rem; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em;
    color: var(--lt-brand-700); border-bottom: 2px solid var(--lt-brand-tint); padding-bottom: .4rem;
}

.lt-sg__grid[b-3zarst8m2z] { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .9rem 1.2rem; }
.lt-sg__row[b-3zarst8m2z] { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; }
.lt-sg__stack[b-3zarst8m2z] { display: flex; flex-direction: column; gap: .6rem; max-width: 640px; }
.lt-sg__note[b-3zarst8m2z] { color: var(--lt-muted); font-size: .82rem; }

.lt-sg__subh[b-3zarst8m2z] { margin: 1.2rem 0 .5rem; font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: var(--lt-muted); font-weight: 700; }
.lt-sg__subh:first-of-type[b-3zarst8m2z] { margin-top: .2rem; }
.lt-sg__swatches[b-3zarst8m2z] { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .7rem 1rem; }
.lt-sw[b-3zarst8m2z] { display: flex; align-items: center; gap: .6rem; }
.lt-sw__chip[b-3zarst8m2z] { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 10px; border: 1px solid var(--lt-line); box-shadow: inset 0 0 0 1px rgba(0,0,0,.03); }
.lt-sw__meta[b-3zarst8m2z] { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.lt-sw__meta strong[b-3zarst8m2z] { font-size: .84rem; color: var(--lt-ink); }
.lt-sw__meta code[b-3zarst8m2z] { font-size: .74rem; color: var(--lt-ink-2); }
.lt-sw__meta small[b-3zarst8m2z] { font-size: .7rem; color: var(--lt-muted); }
/* _content/Logitools.Client.Shared/Pages/Transferencias.razor.rz.scp.css */
/* Transferências entre armazéns — ecrã de trabalho a toda a largura (como os Lotes & Validades). Realce só no que pede
   ação: a quantidade acima do stock da origem. */
.lt-trf[b-bt9yjgqpqg] { height: 100vh; display: flex; flex-direction: column; background: var(--lt-bg); font-family: var(--lt-font); }
.lt-trf__corpo[b-bt9yjgqpqg] { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .7rem; padding: 1rem clamp(1rem, 3vw, 2.2rem) 1.4rem; }

.lt-trf__barra[b-bt9yjgqpqg] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.lt-trf__barra[b-bt9yjgqpqg]  .lt-field { flex: 0 1 320px; margin: 0; }
.lt-trf__espaco[b-bt9yjgqpqg] { flex: 1; }

.lt-trf__nota[b-bt9yjgqpqg] { display: flex; align-items: flex-start; gap: .45rem; margin: 0; font-size: .84rem; color: var(--lt-muted); }

.lt-trf__cartao[b-bt9yjgqpqg] {
    flex: 1; min-height: 0; display: flex; flex-direction: column;
    background: var(--lt-surface); border: 1px solid var(--lt-line); border-radius: var(--lt-radius-lg, 12px); overflow: hidden;
}
.lt-trf__msg[b-bt9yjgqpqg] { margin: 0; padding: 1.4rem; font-size: .9rem; color: var(--lt-muted); }
.lt-trf__rolo[b-bt9yjgqpqg] { flex: 1; min-height: 0; overflow: auto; }

.lt-trf__tabela[b-bt9yjgqpqg] { width: 100%; border-collapse: collapse; font-size: .86rem; }
.lt-trf__tabela thead th[b-bt9yjgqpqg] {
    position: sticky; top: 0; z-index: 1; padding: .55rem .8rem; text-align: left;
    background: var(--lt-surface-2); border-bottom: 1px solid var(--lt-line);
    font-size: .76rem; font-weight: 600; color: var(--lt-muted);
}
.lt-trf__tabela td[b-bt9yjgqpqg], .lt-trf__tabela tbody th[b-bt9yjgqpqg] { padding: .55rem .8rem; border-bottom: 1px solid var(--lt-line); color: var(--lt-ink); text-align: left; font-weight: 400; }
.lt-trf__tabela .is-num[b-bt9yjgqpqg] { text-align: right; font-variant-numeric: tabular-nums; }
.lt-trf__tabela tbody tr:hover[b-bt9yjgqpqg] { background: var(--lt-brand-tint); }

.lt-trf__abrir[b-bt9yjgqpqg] {
    padding: 0; border: 0; background: transparent; cursor: pointer;
    font: inherit; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--lt-brand);
}
.lt-trf__abrir:hover[b-bt9yjgqpqg] { text-decoration: underline; }
.lt-trf__abrir:focus-visible[b-bt9yjgqpqg] { outline: 2px solid var(--lt-brand); outline-offset: 2px; border-radius: 2px; }

/* A janela de nova transferência: procurar o artigo por cima da grelha. */
.lt-trf__artigo[b-bt9yjgqpqg] { display: flex; gap: .5rem; align-items: center; margin-bottom: .5rem; }
.lt-trf__artigo[b-bt9yjgqpqg]  .lt-field { flex: 1 1 auto; margin: 0; }
.lt-trf__encontrados[b-bt9yjgqpqg] {
    display: flex; flex-direction: column; margin-bottom: .6rem; max-height: 14rem; overflow: auto;
    border: 1px solid var(--lt-line); border-radius: var(--lt-radius-sm, 8px);
}
.lt-trf__encontrado[b-bt9yjgqpqg] {
    display: flex; gap: .6rem; align-items: baseline; width: 100%; padding: .5rem .7rem;
    border: 0; border-bottom: 1px solid var(--lt-line); background: var(--lt-surface);
    font: inherit; font-size: .86rem; color: var(--lt-ink); text-align: left; cursor: pointer;
}
.lt-trf__encontrado:hover[b-bt9yjgqpqg], .lt-trf__encontrado:focus-visible[b-bt9yjgqpqg] { background: var(--lt-brand-tint); outline: none; }
.lt-trf__ref[b-bt9yjgqpqg] { font-variant-numeric: tabular-nums; color: var(--lt-muted); }
.lt-trf__stock[b-bt9yjgqpqg] { margin-left: auto; font-size: .8rem; color: var(--lt-muted); white-space: nowrap; }
.lt-trf__demais[b-bt9yjgqpqg]  .lt-ctl { color: var(--lt-warning-ink); background: var(--lt-warning-tint); }
.lt-trf__semlote[b-bt9yjgqpqg] { color: var(--lt-muted); }
.lt-trf__totais[b-bt9yjgqpqg] { margin: 0; font-size: .86rem; color: var(--lt-ink); font-variant-numeric: tabular-nums; }
