/* Ajustes da Trilha sobre o tema Duralux.
   Contrato visual alinhado ao HUB Fiscal (painel): só o que o tema
   não entrega pronto — sem reescrever componentes. */

:root {
    --trilha-ink: #1f2937;
    --trilha-muted: #64748b;
    --trilha-faint: #8a94a6;
    --trilha-line: #e5e7eb;
    --trilha-paper: #f3f4f6;
    --trilha-surface: #fff;
    --trilha-primary: #3454d1;
}

html.app-skin-dark {
    --trilha-ink: #e5e7eb;
    --trilha-muted: #94a3b8;
    --trilha-faint: #7b8494;
    --trilha-line: #1b2436;
    --trilha-paper: #121a2d;
    --trilha-surface: #0f172a;
    color-scheme: dark;
}

.trilha-skip-link {
    position: absolute;
    left: 12px;
    top: -120px;
    z-index: 10800;
    padding: 8px 12px;
    background: var(--trilha-surface);
    color: var(--trilha-ink);
    border: 2px solid var(--trilha-primary);
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
}

.trilha-skip-link:focus,
.trilha-skip-link:focus-visible {
    top: 12px;
}

html.app-skin-dark .nxl-navigation .m-header .trilha-logo,
html.app-navigation-dark .nxl-navigation .m-header .trilha-logo,
html.app-header-dark .nxl-navigation .m-header .trilha-logo,
html.app-skin-dark .auth-logo {
    filter: none;
    background: #fff;
    border-radius: 8px;
    padding: 4px 8px;
}

.nxl-content a:focus-visible,
.nxl-content button:focus-visible,
.nxl-content input:focus-visible,
.nxl-content select:focus-visible,
.nxl-content textarea:focus-visible,
.nxl-content summary:focus-visible,
.nxl-header a:focus-visible,
.nxl-header button:focus-visible,
.nxl-navigation a:focus-visible,
.nxl-navigation button:focus-visible,
.auth-wrap a:focus-visible,
.trilha-skip-link:focus-visible {
    outline: 2px solid var(--trilha-primary);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* O m-header do tema tem 80px de altura mas 15px/30px de padding, o que
   sobra só 50px úteis para a marca. Aperta o padding para o nome ocupar
   o cabeçalho, como a logo no HUB Fiscal. */
.m-header { padding: 8px 22px; }

.b-brand { display: inline-flex; align-items: center; }

.trilha-logo { display: block; width: auto; }

.trilha-logo.logo-lg { height: 62px; }

.trilha-logo.logo-sm { height: 56px; width: 56px; display: none; }

html.minimenu .m-header { padding-left: 0; padding-right: 0; justify-content: center; }
html.minimenu .trilha-logo.logo-lg { display: none; }
html.minimenu .trilha-logo.logo-sm { display: block; height: 56px; width: 56px; }

.nxl-navigation .nxl-item.active > .nxl-link {
    font-weight: 600;
}

/* Menu de perfil: o tema deixa .nxl-h-dropdown em 225px, estreito demais
   para e-mail + avatar. .nxl-user-dropdown sobe para 300px; o texto
   precisa min-width:0 senão o flex não encolhe e vaza da caixa. */
.nxl-header .nxl-h-dropdown.nxl-user-dropdown {
    width: 300px;
    overflow: hidden;
}

.trilha-user-meta {
    min-width: 0;
    overflow: hidden;
}

.trilha-user-meta h6,
.trilha-user-meta span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Login ── */
.auth-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: var(--trilha-paper);
}

.auth-wrap .card {
    width: 100%;
    max-width: 420px;
    border: 1px solid var(--trilha-line);
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

.auth-logo {
    display: block;
    height: 88px;
    width: auto;
    max-width: 100%;
    margin: 0 auto 1rem;
}

.form-label:has(+ [required])::after,
.form-check:has(> [required]) > .form-check-label::after {
    content: '*';
    color: #dc3545;
    margin-left: 0.2rem;
    font-weight: 700;
}

/* ── Cartões de indicador ── */
.stat-card .stat-value {
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--trilha-ink);
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.stat-card .stat-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--trilha-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0;
}

.stat-card .stat-hint {
    font-size: 12px;
    color: var(--trilha-muted);
    line-height: 1.45;
}

.stat-card.is-highlight {
    border-color: var(--trilha-primary);
    box-shadow: 0 0 0 1px rgba(52, 84, 209, 0.18);
}

.stat-card.is-highlight-success {
    border-color: #17c666;
    box-shadow: 0 0 0 1px rgba(23, 198, 102, 0.18);
}

.trilha-quota-layout {
    display: grid;
    gap: 1.25rem;
    align-items: center;
}

.trilha-quota-radial {
    min-height: 200px;
}

.trilha-quota-figures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.trilha-quota-figures .stat-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--trilha-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin: 0 0 0.35rem;
}

.trilha-quota-figures .stat-value {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--trilha-ink);
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.trilha-quota-bar {
    height: 10px;
    border-radius: 999px;
    background: var(--trilha-line);
    overflow: hidden;
}

.trilha-quota-bar-fill {
    height: 100%;
    border-radius: inherit;
    background: var(--trilha-primary);
}

.trilha-quota-card.is-over .trilha-quota-bar-fill {
    background: #17c666;
}

.trilha-quota-percent {
    margin-top: 0.65rem;
    font-size: 0.875rem;
    color: var(--trilha-muted);
    font-variant-numeric: tabular-nums;
}

@media (min-width: 768px) {
    .trilha-quota-layout {
        grid-template-columns: 220px minmax(0, 1fr);
    }
}

@media (max-width: 575.98px) {
    .trilha-quota-radial {
        min-height: 160px;
    }

    .trilha-quota-figures {
        grid-template-columns: 1fr;
    }
}

/* ── Filtros ── */
.filter-bar {
    background: var(--trilha-surface);
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    padding: 1rem 1.15rem;
}

.filter-bar label {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--trilha-muted);
    margin-bottom: 0.25rem;
}

.filter-bar .form-control,
.filter-bar .form-select {
    font-size: 0.85rem;
}

.filter-bar-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
}

.filter-bar-inline > div {
    flex: 0 1 11.5rem;
    min-width: 10rem;
}

.filter-bar-inline > .filter-bar-inline-grow {
    flex: 1 1 14rem;
    min-width: 12rem;
    max-width: 22rem;
}

.filter-bar-inline > .filter-bar-inline-submit {
    flex: 0 0 auto;
    min-width: 0;
}

.filter-bar-inline .form-control,
.filter-bar-inline .form-select {
    height: 40px;
    min-height: 40px;
    padding: 0.3rem 0.7rem;
    font-size: 14px;
}

.filter-bar-inline-submit .btn {
    width: auto;
    height: 40px;
    min-height: 40px;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 14px;
}

.filter-bar .form-check-label {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    font-size: 0.82rem;
    color: var(--trilha-muted);
}

.page-header-right .form-label {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--trilha-muted);
    margin-bottom: 0.25rem;
}

/* Duralux .btn é display:flex (bloco): estica em pais de bloco.
   Ações da toolbar e do estado vazio voltam a acompanhar o texto. */
.page-header-right .btn,
.card-header .btn,
.btn-group .btn,
.trilha-agenda .btn {
    width: auto;
    display: inline-flex;
}

/* ── Estados vazios ── */
.empty-state {
    text-align: center;
    padding: 3rem 1.5rem;
    color: var(--trilha-muted);
}

.empty-state .empty-icon {
    font-size: 1.9rem;
    color: #c3cbd6;
    display: inline-block;
    margin-bottom: 0.9rem;
}

.empty-state h6 {
    color: var(--trilha-ink);
    font-size: 1rem;
    margin-bottom: 0.4rem;
}

.empty-state p {
    max-width: 46ch;
    margin: 0 auto;
    font-size: 0.88rem;
    line-height: 1.6;
}

.empty-state .empty-action { margin-top: 1.2rem; }

.empty-state .empty-action .btn,
.empty-state a.btn {
    width: auto !important;
    max-width: max-content;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* ── Tabelas ── */
.table-trilha { font-size: 0.85rem; }
.table-trilha > :not(caption) > * > * { padding: 0.7rem 0.9rem; }
.table-trilha.table-sm > :not(caption) > * > * { padding: 0.5rem 0.9rem; }

.table-trilha > :not(caption) > * > :first-child { padding-left: 0; }
.table-trilha > :not(caption) > * > :last-child { padding-right: 0; }

.card-body.p-0 .table-trilha > :not(caption) > * > :first-child { padding-left: 25px; }
.card-body.p-0 .table-trilha > :not(caption) > * > :last-child { padding-right: 25px; }

.table-trilha th {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--trilha-muted);
    font-weight: 700;
    white-space: nowrap;
}

.table-trilha td {
    vertical-align: middle;
    overflow-wrap: anywhere;
}
.table-trilha .num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.table-trilha .btn {
    white-space: nowrap;
}

.table-trilha .trilha-table-actions,
.table-trilha .trilha-table-compact {
    width: 1%;
    white-space: nowrap;
    overflow-wrap: normal;
}

.table-trilha .trilha-table-actions .d-flex {
    flex-wrap: nowrap;
}

.table-trilha .trilha-table-actions form,
.table-trilha .trilha-table-actions .btn {
    flex-shrink: 0;
}

.table-trilha .trilha-table-title {
    min-width: 10rem;
    width: 28%;
}

.table-trilha .trilha-table-record {
    min-width: 12rem;
    width: 28%;
}

.nxl-content .row > * {
    min-width: 0;
}

.table-responsive-trilha {
    overflow-x: auto;
    max-width: 100%;
}

/* O Duralux zera a borda da última linha só em `.table-responsive`.
   `.table-responsive-trilha` existe para não herdar o nowrap do tema,
   então a regra precisa ser replicada — senão o filete da última linha
   aparece colado na borda arredondada do cartão. Com tfoot, a última
   linha do tbody permanece (separador do total). */
.table-responsive-trilha .table tbody:last-child tr:last-child > *,
.card-body.p-0 .table tbody:last-child tr:last-child > *,
.table-responsive-trilha .table tfoot tr:last-child > *,
.card-body.p-0 .table tfoot tr:last-child > * {
    border-bottom-color: transparent;
}

/* ── Detalhe: definição ── */
.trilha-dl {
    margin: 0;
}

.trilha-dl dt {
    font-weight: 500;
    color: var(--trilha-muted);
}

.trilha-dl dd {
    margin-bottom: 0.7rem;
    color: var(--trilha-ink);
}

.trilha-dl dd:last-of-type { margin-bottom: 0; }

/* ── Notas ── */
.note-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.note-list li {
    padding: 0.75rem 0;
    border-bottom: 1px dashed var(--trilha-line);
    font-size: 0.88rem;
    line-height: 1.55;
}

.note-list li:first-child { padding-top: 0; }
.note-list li:last-child { border-bottom: 0; padding-bottom: 0; }

.trilha-timeline-day h3 {
    letter-spacing: 0.02em;
}

/* ── Kanban ── */
.trilha-kanban-board {
    width: 100%;
    align-items: stretch;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.trilha-kanban-column {
    flex: 1 1 0;
    min-width: 280px;
    min-height: 320px;
    background: var(--trilha-surface);
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    padding: 0.85rem 0.75rem;
}

.trilha-kanban-column-header {
    margin-bottom: 0.65rem;
    padding: 0 0.15rem;
}

.trilha-kanban-column-body {
    min-height: 240px;
    padding: 0.5rem;
    background: var(--trilha-paper);
    border-radius: 6px;
}

.trilha-kanban-card {
    cursor: grab;
    border: 1px solid var(--trilha-line);
    box-shadow: none;
}

.trilha-kanban-card:active { cursor: grabbing; }

.trilha-kanban-card.is-pending {
    opacity: 0.65;
    pointer-events: none;
}

.trilha-kanban-card .card-body {
    background: var(--trilha-surface);
    border-radius: inherit;
}

.trilha-kanban-owner {
    display: flex;
    min-width: 0;
}

.trilha-kanban-placeholder {
    border: 2px dashed rgba(52, 84, 209, 0.35);
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
    height: 6rem;
    background: rgba(52, 84, 209, 0.06);
}

.trilha-kanban-column-header .badge { font-weight: 500; }

.trilha-kanban-move > summary {
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    list-style: revert;
}

.trilha-kanban-move-list {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-top: 0.4rem;
}

.trilha-kanban-move-option {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.35rem 0.4rem;
    font-size: 0.85rem;
    color: inherit;
}

.trilha-kanban-move-option:hover,
.trilha-kanban-move-option:focus-visible {
    background: var(--trilha-paper);
}

.trilha-kanban-empty {
    padding: 0.5rem 0.15rem;
}

@media (max-width: 991.98px) {
    .trilha-kanban-column {
        flex: 0 0 280px;
    }
}

/* Correção de um bug do theme.min.css: variantes .btn-light-* (exceto
   -brand) vieram com função Sass vazada, então o navegador descarta
   fundo e borda. Reproduz os tons claros pretendidos. */
.btn-light-danger {
    color: #ea4d4d;
    background-color: #fdeded;
    border: 1px solid rgba(234, 77, 77, 0.35);
}

.btn-light-primary {
    color: #3454d1;
    background-color: #ebeefa;
    border: 1px solid rgba(52, 84, 209, 0.35);
}

.btn-light-secondary {
    color: #64748b;
    background-color: #eff1f4;
    border: 1px solid rgba(100, 116, 139, 0.35);
}

.btn-light-success {
    color: #17c666;
    background-color: #e1fbed;
    border: 1px solid rgba(23, 198, 102, 0.35);
}

.btn-light-info {
    color: #3dc7be;
    background-color: #dbf5f3;
    border: 1px solid rgba(61, 199, 190, 0.35);
}

.btn-light-warning {
    color: #ffa21d;
    background-color: #ffebd0;
    border: 1px solid rgba(255, 162, 29, 0.35);
}

.bg-soft-secondary {
    background-color: #eff1f4 !important;
}

/* Avatar circular no padrão Frappe */
.trilha-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
}

img.trilha-avatar {
    display: block;
}

.trilha-avatar-fallback {
    background: #f3f3f3;
    color: #7c7c7c;
    font-weight: 500;
    text-transform: uppercase;
    user-select: none;
    line-height: 1;
}

.trilha-avatar-sm { width: 20px; height: 20px; font-size: 0.7rem; }
.trilha-avatar-md { width: 24px; height: 24px; font-size: 0.8rem; }
.trilha-avatar-lg { width: 36px; height: 36px; font-size: 0.95rem; }
.trilha-avatar-xl { width: 32px; height: 32px; font-size: 1.05rem; }
.trilha-avatar-profile { width: 56px; height: 56px; font-size: 1.5rem; }

.trilha-avatar-picker {
    cursor: pointer;
    display: inline-block;
}

.trilha-person {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

a.trilha-person {
    text-decoration: none;
}

a.trilha-person:hover .fw-semibold {
    text-decoration: underline;
}

.trilha-person-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.25;
}

.trilha-person-sub {
    font-size: 0.78rem;
    color: var(--trilha-muted);
}

.trilha-profile-head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding-bottom: 1.5rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--trilha-line);
}

.trilha-profile-name {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--trilha-ink);
    line-height: 1.2;
}

.trilha-profile-email {
    font-size: 0.85rem;
    color: var(--trilha-muted);
}

html.app-skin-dark .trilha-avatar-fallback {
    background: #1c2438;
    color: #9aa3b5;
}

html.app-skin-dark .empty-state .empty-icon {
    color: #3d4a63;
}

html.app-skin-dark .auth-wrap .card {
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

html.app-skin-dark .bg-soft-secondary {
    background-color: #1c2438 !important;
}

html.app-skin-dark .btn-light-danger {
    color: #f2a0a0;
    background-color: rgba(234, 77, 77, 0.16);
    border-color: rgba(234, 77, 77, 0.35);
}

html.app-skin-dark .btn-light-primary {
    color: #9bb0ff;
    background-color: rgba(52, 84, 209, 0.16);
    border-color: rgba(52, 84, 209, 0.35);
}

html.app-skin-dark .btn-light-secondary {
    color: #9aa3b5;
    background-color: rgba(100, 116, 139, 0.16);
    border-color: rgba(100, 116, 139, 0.35);
}

html.app-skin-dark .btn-light-success {
    color: #7ee0ab;
    background-color: rgba(23, 198, 102, 0.16);
    border-color: rgba(23, 198, 102, 0.35);
}

html.app-skin-dark .btn-light-info {
    color: #7ee0d9;
    background-color: rgba(61, 199, 190, 0.16);
    border-color: rgba(61, 199, 190, 0.35);
}

html.app-skin-dark .btn-light-warning {
    color: #ffc56d;
    background-color: rgba(255, 162, 29, 0.16);
    border-color: rgba(255, 162, 29, 0.35);
}

.trilha-chart {
    min-height: 280px;
    overflow: visible;
}

.trilha-chart .apexcharts-tooltip {
    background: var(--trilha-surface) !important;
    background-color: var(--trilha-surface) !important;
    color: var(--trilha-ink) !important;
    border: 1px solid var(--trilha-line) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12) !important;
    padding: 0 !important;
}

.trilha-chart .apexcharts-tooltip,
.trilha-chart .apexcharts-tooltip span {
    color: var(--trilha-ink) !important;
}

.trilha-chart .apexcharts-tooltip-title {
    background: var(--trilha-paper) !important;
    border-bottom-color: var(--trilha-line) !important;
}

.trilha-chart .apexcharts-tooltip-series-group,
.trilha-chart .apexcharts-tooltip-text,
.trilha-chart .apexcharts-tooltip-y-group {
    background: transparent !important;
}

.trilha-pie-tooltip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    color: var(--trilha-ink);
    background: var(--trilha-surface);
}

.trilha-pie-tooltip__swatch {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.trilha-pie-tooltip__name {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.trilha-pie-tooltip__value {
    font-size: 12px;
    line-height: 1.3;
    color: var(--trilha-ink);
}

.swal2-popup .swal2-html-container,
.swal2-popup .swal2-content {
    text-align: left;
}

.swal2-popup .form-label {
    display: block;
    text-align: left;
    font-size: 14px;
}

.swal2-popup .form-control,
.swal2-popup .form-select {
    min-height: 40px;
    font-size: 14px;
}

@media (max-width: 767.98px) {
    .swal2-popup .form-control,
    .swal2-popup .form-select {
        min-height: 44px;
        height: 44px;
    }
}

.swal2-popup.trilha-task-dialog {
    width: min(640px, calc(100vw - 24px)) !important;
    max-width: 640px;
    max-height: calc(100dvh - 24px);
    margin: 12px auto;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
}

.swal2-popup.trilha-task-dialog .swal2-header {
    flex: 0 0 auto;
}

.swal2-popup.trilha-task-dialog .swal2-html-container,
.swal2-popup.trilha-task-dialog .swal2-content {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    scroll-padding-bottom: 56px;
}

.swal2-popup.trilha-task-dialog #trilha-task-modal-form input,
.swal2-popup.trilha-task-dialog #trilha-task-modal-form select,
.swal2-popup.trilha-task-dialog #trilha-task-modal-form textarea,
.swal2-popup.trilha-task-dialog #trilha-task-modal-form button {
    scroll-margin-bottom: 56px;
}

.swal2-popup.trilha-task-dialog summary:focus-visible {
    outline: 2px solid var(--trilha-primary);
    outline-offset: 2px;
}

.swal2-popup.trilha-task-dialog .btn {
    min-height: 44px;
}

#trilha-task-modal-form .d-flex.gap-2 {
    position: sticky;
    bottom: 0;
    z-index: 1;
    padding-top: 8px;
    background: var(--trilha-surface);
}

html.app-skin-dark .swal2-popup.trilha-task-dialog {
    background: var(--trilha-surface);
    color: var(--trilha-ink);
}

@media (min-width: 768px) {
    .swal2-popup.trilha-task-dialog .btn {
        min-height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .swal2-popup.trilha-task-dialog,
    .swal2-container.swal2-fade,
    .swal2-container.swal2-shown {
        animation: none !important;
        transition: none !important;
    }
}

/* Heading global: h1 da página e h2 de seção (UX00). */
.page-header-title h1 {
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 10px;
    color: var(--trilha-ink);
}

@media (min-width: 768px) {
    .page-header-title h1 {
        font-size: 24px;
        line-height: 30px;
        margin-bottom: 0;
        margin-right: 8px;
        padding-right: 12px;
        border-right: 1px solid var(--trilha-line);
    }
}

h2.card-title {
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
}

.nxl-content .form-label,
.auth-wrap .form-label {
    font-size: 14px;
}

.nxl-content .form-control,
.nxl-content .form-select,
.auth-wrap .form-control,
.auth-wrap .form-select {
    min-height: 40px;
    font-size: 14px;
}

@media (max-width: 767.98px) {
    .nxl-content .form-control,
    .nxl-content .form-select,
    .auth-wrap .form-control,
    .auth-wrap .form-select,
    .filter-bar-inline .form-control,
    .filter-bar-inline .form-select,
    .filter-bar-inline-submit .btn {
        min-height: 44px;
        height: 44px;
    }
}

/* ── Agenda: barra no conteúdo (AG02) ── */
.nxl-content:has(.trilha-agenda),
.nxl-content:has(.trilha-agenda) .main-content,
.trilha-agenda {
    min-width: 0;
    max-width: 100%;
}

.trilha-agenda-toolbar {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
    max-width: 100%;
}

.trilha-agenda-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.trilha-agenda-sub {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: var(--trilha-muted);
}

.trilha-agenda-create {
    width: 100%;
}

.trilha-agenda-navrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.trilha-agenda-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.trilha-agenda-nav {
    min-width: 40px;
}

.trilha-agenda-nav.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}

.trilha-agenda-picker {
    position: relative;
    min-width: 0;
}

.trilha-agenda-picker-summary {
    list-style: none;
    cursor: pointer;
    text-transform: capitalize;
}

.trilha-agenda-picker-summary::-webkit-details-marker,
.trilha-agenda-picker-summary::marker {
    display: none;
}

.trilha-agenda-picker-form {
    position: absolute;
    z-index: 3;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    max-width: min(280px, calc(100vw - 32px));
    padding: 12px;
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    background: var(--trilha-surface);
}

.trilha-agenda-picker-fields {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.trilha-agenda-picker-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.trilha-agenda-picker-actions .btn {
    flex: 1;
}

.trilha-agenda-mode {
    flex: 1 1 100%;
    min-width: 0;
}

.trilha-agenda-mode .btn {
    flex: 1;
    justify-content: center;
}

.trilha-agenda a:focus-visible,
.trilha-agenda button:focus-visible,
.trilha-agenda summary:focus-visible,
.trilha-agenda select:focus-visible,
.trilha-agenda input:focus-visible {
    outline: 2px solid var(--trilha-primary);
    outline-offset: 2px;
}

.page-header-title h1,
.trilha-agenda :focus-visible,
.trilha-agenda-day-title:focus {
    scroll-margin-bottom: 24px;
    scroll-margin-top: 8px;
}

@media (min-width: 390px) {
    .trilha-agenda-create {
        width: auto;
    }
}

@media (max-width: 767.98px) {
    .trilha-agenda-toolbar .btn,
    .trilha-agenda-picker-summary,
    .trilha-agenda-picker-form .btn,
    .trilha-agenda-mode .btn {
        min-height: 44px;
    }
}

@media (min-width: 768px) {
    .trilha-agenda-navrow {
        justify-content: space-between;
    }

    .trilha-agenda-mode {
        flex: 0 0 auto;
        width: auto;
    }

    .trilha-agenda-mode .btn {
        flex: 0 0 auto;
    }
}

/* ── Agenda: card e miniatura de tarefa (AG03) ── */
.trilha-agenda .trilha-agenda-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    background: var(--trilha-surface);
    box-shadow: none;
    color: var(--trilha-ink);
}

.trilha-agenda .trilha-agenda-card-topline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    line-height: 1.4;
}

.trilha-agenda .trilha-agenda-card-status {
    margin-left: auto;
}

.trilha-agenda .trilha-agenda-card-status.is-done {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.trilha-agenda .trilha-agenda-card-title {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--trilha-ink);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.trilha-agenda .trilha-agenda-card.is-done .trilha-agenda-card-title {
    text-decoration: line-through;
}

.trilha-agenda .trilha-agenda-card-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--trilha-muted);
    overflow-wrap: anywhere;
}

.trilha-agenda .trilha-agenda-card-parent {
    color: var(--trilha-ink);
}

.trilha-agenda a.trilha-agenda-card-parent {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.trilha-agenda span.trilha-agenda-card-parent {
    text-decoration: none;
}

.trilha-agenda .trilha-agenda-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.trilha-agenda .trilha-agenda-complete-form {
    display: inline-flex;
    margin: 0;
}

.trilha-agenda .trilha-agenda-preview {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding: 4px 0;
    color: var(--trilha-ink);
    text-decoration: none;
}

.trilha-agenda .trilha-agenda-preview-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    font-size: 12px;
    line-height: 1.4;
}

.trilha-agenda .trilha-agenda-preview-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.4;
    overflow-wrap: anywhere;
    color: var(--trilha-ink);
}

.trilha-agenda .trilha-agenda-preview.is-done .trilha-agenda-preview-title {
    text-decoration: line-through;
}

@media (min-width: 768px) {
    .trilha-agenda .trilha-agenda-card {
        padding: 16px;
    }

    .trilha-agenda .trilha-agenda-card-title {
        font-size: 16px;
    }
}

/* ── Agenda: lista diária (AG04) ── */
.trilha-agenda-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    max-width: 100%;
}

.trilha-agenda-list > .card-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.trilha-agenda-day-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 12px;
}

.trilha-agenda-day-title {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    color: var(--trilha-ink);
    overflow-wrap: anywhere;
}

.trilha-agenda-day-count,
.trilha-agenda-pager-status {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: var(--trilha-muted);
}

.trilha-agenda-day-title .badge {
    font-size: 12px;
    font-weight: 600;
    vertical-align: middle;
}

.trilha-agenda-day-cards {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.trilha-agenda-list .trilha-agenda-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.trilha-agenda-pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

@media (max-width: 767.98px) {
    .trilha-agenda.is-auto #agenda-month {
        display: none;
    }

    .trilha-agenda.is-auto #agenda-day {
        display: none;
    }
}

@media (min-width: 768px) {
    .trilha-agenda.is-auto #agenda-list {
        display: none;
    }

    .trilha-agenda-day-title {
        font-size: 18px;
    }
}

/* ── Agenda: grade mensal (AG05) ── */
.trilha-agenda-month {
    container-type: inline-size;
    min-width: 0;
    max-width: 100%;
}

.trilha-agenda-month-hint {
    display: none;
    margin: 0 0 8px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--trilha-muted);
}

@container (max-width: 839px) {
    .trilha-agenda-month-hint {
        display: block;
    }
}

.trilha-agenda-month-scroll {
    overflow-x: auto;
    max-width: 100%;
    overscroll-behavior-x: contain;
}

.trilha-agenda-month-table {
    width: 100%;
    min-width: 840px;
    table-layout: fixed;
    border-collapse: collapse;
    background: var(--trilha-surface);
}

.trilha-agenda-month-table caption {
    caption-side: top;
    text-align: left;
    padding: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--trilha-ink);
}

.trilha-agenda-month-table th {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--trilha-muted);
    text-align: center;
    padding: 8px 4px;
    border: 1px solid var(--trilha-line);
    overflow-wrap: anywhere;
}

.trilha-agenda-month-table td.trilha-agenda-day {
    vertical-align: top;
    padding: 8px;
    width: 14.28%;
    border: 1px solid var(--trilha-line);
    background: var(--trilha-surface);
    color: var(--trilha-ink);
}

.trilha-agenda-month-table td.trilha-agenda-day.is-weekend {
    background: color-mix(in srgb, var(--trilha-paper) 70%, var(--trilha-surface));
}

.trilha-agenda-month-table td.trilha-agenda-day.is-today {
    background: color-mix(in srgb, var(--trilha-primary) 8%, var(--trilha-surface));
}

.trilha-agenda-month-table td.trilha-agenda-day.is-selected {
    outline: 2px solid var(--trilha-primary);
    outline-offset: -2px;
}

.trilha-agenda-month-table td.trilha-agenda-day.is-outside {
    opacity: 0.55;
}

.trilha-agenda-day-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    margin-bottom: 8px;
}

.trilha-agenda-day-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 4px;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.4;
    color: var(--trilha-ink);
    text-decoration: none;
    border-radius: 999px;
}

.trilha-agenda-day.is-today .trilha-agenda-day-num {
    background: var(--trilha-primary);
    color: #fff;
}

.trilha-agenda-day-num.is-disabled {
    opacity: 0.45;
}

.trilha-agenda-day-mark,
.trilha-agenda-day-total {
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
}

.trilha-agenda-day-previews {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.trilha-agenda-more {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--trilha-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (min-width: 768px) {
    .trilha-agenda-month-table td.trilha-agenda-day {
        min-height: 152px;
    }

    .trilha-agenda-day-num {
        min-width: 40px;
        min-height: 40px;
    }

    .trilha-agenda-more {
        min-height: 40px;
    }
}

/* ── Agenda: dia selecionado (AG06) ── */
.trilha-agenda-day-panel {
    margin-top: 24px;
    min-width: 0;
    max-width: 100%;
}

.trilha-agenda-day-panel .card-header.trilha-agenda-day-header {
    align-items: center;
}

.trilha-agenda-day-panel .trilha-agenda-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.trilha-agenda-day-title:focus {
    outline: 2px solid var(--trilha-primary);
    outline-offset: 2px;
}

/* ── Agenda: filtros, resumo e vazios (AG07) ── */
.trilha-agenda-filters {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 12px;
    max-width: 100%;
}

.trilha-agenda-filters .trilha-list-filters {
    margin-bottom: 0;
}

.trilha-agenda-filter-error {
    margin: 0.25rem 0 0;
    font-size: 12px;
    line-height: 1.4;
}

.trilha-agenda-summary {
    margin: 0 0 16px;
}

.trilha-agenda-empty.empty-state {
    margin: 0;
}

/* ── Agenda: atualização progressiva (AG12) ── */
.trilha-agenda-status {
    margin: 0 0 12px;
}

.trilha-agenda-status:not(:has(:not([hidden]))) {
    margin: 0;
}

.trilha-agenda-loading,
.trilha-agenda-error {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 1.4;
}

.trilha-agenda-error p {
    margin: 0 0 8px;
}

.trilha-agenda-stale {
    color: var(--trilha-muted);
}

.trilha-agenda[data-agenda-stale="true"] #agenda-list,
.trilha-agenda[data-agenda-stale="true"] #agenda-month,
.trilha-agenda[data-agenda-stale="true"] #agenda-day {
    opacity: 0.92;
}

@media (prefers-reduced-motion: reduce) {
    .trilha-agenda-loading,
    .trilha-agenda[data-agenda-stale="true"] #agenda-list,
    .trilha-agenda[data-agenda-stale="true"] #agenda-month,
    .trilha-agenda[data-agenda-stale="true"] #agenda-day {
        transition: none;
        scroll-behavior: auto;
    }
}

/* ── Detalhe da tarefa (AG08) ── */
.trilha-task-detail {
    max-width: 800px;
}

.trilha-task-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.trilha-task-detail-actions .btn,
.trilha-task-detail-back {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.page-header-right form {
    display: inline-flex;
    margin: 0;
}

.trilha-task-detail-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0;
}

.trilha-task-detail-fields > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.trilha-task-detail-fields dt {
    font-size: 12px;
    line-height: 1.4;
    color: var(--trilha-muted);
}

.trilha-task-detail-fields dd {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: var(--trilha-ink);
}

.trilha-task-detail-fields dd a {
    display: inline-block;
    margin-right: 12px;
}

.trilha-task-detail a:focus-visible,
.trilha-task-detail button:focus-visible {
    outline: 2px solid var(--trilha-primary);
    outline-offset: 2px;
}

@media (min-width: 768px) {
    .trilha-task-detail-actions .btn,
    .trilha-task-detail-back {
        min-height: 40px;
    }
}

/* T11: ações do cabeçalho no fluxo da página, sem o drawer oculto do Duralux. */
body {
    overflow-x: clip;
    max-width: 100%;
}

.page-header {
    max-width: 100%;
    min-width: 0;
}

.page-header-left {
    min-width: 0;
    gap: 0.5rem;
}

.page-header-right {
    margin-left: auto;
    min-width: 0;
    max-width: 100%;
}

.nxl-container .nxl-content .page-header .page-header-right .page-header-right-items {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
    height: auto;
    width: auto;
    max-width: 100%;
    opacity: 1;
    visibility: visible;
    transform: none;
    background-color: transparent !important;
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: row;
    overflow: visible;
}

.nxl-container .nxl-content .page-header .page-header-right .page-header-right-items .page-header-right-items-wrapper {
    padding: 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    width: auto;
    max-width: 100%;
}

.trilha-page-primary,
.trilha-mais-acoes > .btn {
    width: auto;
}

.trilha-results-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    max-width: 100%;
}

.trilha-results-count {
    font-size: 14px;
    color: var(--trilha-muted);
}

.trilha-list-filters {
    background: var(--trilha-surface);
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    padding: 1rem 1.15rem;
}

.trilha-list-search-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem;
}

.trilha-list-search {
    flex: 1 1 16rem;
    min-width: 12rem;
}

.trilha-list-search .input-group {
    width: 100%;
}

.trilha-list-search label,
.trilha-filter-fields label {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--trilha-muted);
    margin-bottom: 0.25rem;
    display: block;
}

.trilha-list-search-row > .btn,
.trilha-filter-panel > summary {
    height: 40px;
    min-height: 40px;
}

.trilha-filter-panel {
    flex: 0 0 auto;
}

.trilha-filter-panel > summary {
    display: inline-flex;
    align-items: center;
    padding: 0 0.85rem;
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    background: var(--trilha-surface);
    cursor: pointer;
    font-size: 14px;
    list-style: none;
}

.trilha-filter-panel > summary::-webkit-details-marker {
    display: none;
}

.trilha-filter-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.75rem 1rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--trilha-line);
}

.trilha-filter-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 0.75rem;
    font-size: 14px;
}

.trilha-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0 0 0.75rem;
}

.trilha-filter-chips a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 32px;
    padding: 0.25rem 0.65rem;
    border-radius: 8px;
    border: 1px solid var(--trilha-line);
    background: var(--trilha-surface);
    color: inherit;
    text-decoration: none;
    font-size: 14px;
}

.trilha-saved-views {
    margin-bottom: 0.75rem;
}

.trilha-saved-views-panel > summary {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 0.85rem;
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    background: var(--trilha-surface);
    cursor: pointer;
    font-size: 14px;
    list-style: none;
}

.trilha-saved-views-panel > summary::-webkit-details-marker {
    display: none;
}

.trilha-saved-views-menu {
    min-width: 18rem;
    max-width: 24rem;
    margin-top: 0.5rem;
    padding: 0.75rem;
    border: 1px solid var(--trilha-line);
    border-radius: 8px;
    background: var(--trilha-surface);
}

.trilha-saved-view-item {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--trilha-line);
}

.trilha-saved-view-save {
    padding-top: 0.5rem;
}

.trilha-saved-view-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.trilha-list-cards {
    list-style: none;
    padding: 0.75rem;
}

.trilha-list-card {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--trilha-line);
}

.trilha-list-card:last-child {
    border-bottom: 0;
}

@media (max-width: 767.98px) {
    .trilha-list-search-row > .btn,
    .trilha-filter-panel > summary,
    .trilha-filter-chips a {
        min-height: 44px;
        height: 44px;
    }
}

.trilha-nav-close {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 0.875rem;
    min-height: 44px;
    min-width: 44px;
    padding: 0.35rem 0.6rem;
}

@media (max-width: 1023.98px) {
    .nxl-header {
        min-height: 56px;
        height: 56px;
    }

    .nxl-header .header-wrapper {
        min-height: 56px;
        height: 56px;
        align-items: center;
    }

    .nxl-header .nxl-head-mobile-toggler {
        top: 50%;
        transform: translateY(-50%);
    }

    .nxl-container {
        top: 56px;
        min-height: calc(100vh - 56px);
    }

    .nxl-navigation .m-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
    }

    .nxl-navigation.mob-navigation-active .trilha-nav-close {
        display: inline-flex;
    }
}

@media (max-width: 767.98px) {
    .page-header {
        flex-wrap: wrap;
        align-items: flex-start;
        row-gap: 0.75rem;
    }

    .page-header-left {
        flex: 1 1 100%;
    }

    .page-header-right {
        flex: 1 1 100%;
        margin-left: 0;
        width: 100%;
    }
}

.trilha-contact-ficha {
    display: grid;
    gap: 1rem;
}

.trilha-contact-heading-meta,
.trilha-opportunity-heading-meta {
    font-size: 14px;
    color: var(--trilha-muted);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
}

.trilha-opportunity-ficha {
    min-width: 0;
}

.trilha-contact-resumo,
.trilha-contact-secondary {
    align-self: start;
}

.trilha-contact-email {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: none;
}

.trilha-contact-main {
    min-width: 0;
}

.trilha-contact-tabs,
.trilha-opportunity-tabs,
.trilha-product-tabs,
.trilha-user-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    overflow-x: auto;
    margin-bottom: 1rem;
    padding-bottom: 0.15rem;
}

.trilha-contact-tabs a,
.trilha-opportunity-tabs a,
.trilha-product-tabs a,
.trilha-user-tabs a {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    min-height: 40px;
    padding: 0.35rem 0.75rem;
    border-radius: 8px;
    border: 1px solid var(--trilha-line);
    color: var(--trilha-ink);
    text-decoration: none;
    font-size: 14px;
}

.trilha-contact-tabs a[aria-current="page"],
.trilha-opportunity-tabs a[aria-current="page"],
.trilha-product-tabs a[aria-current="page"],
.trilha-user-tabs a[aria-current="page"] {
    font-weight: 600;
    background: var(--trilha-surface);
    border-color: var(--trilha-ink);
}

@media (min-width: 1200px) {
    .trilha-contact-ficha {
        grid-template-columns: 320px minmax(0, 1fr);
        grid-template-areas:
            "resumo main"
            "secondary main";
        align-items: start;
    }

    .trilha-contact-resumo {
        grid-area: resumo;
        width: 320px;
    }

    .trilha-contact-main {
        grid-area: main;
    }

    .trilha-contact-secondary {
        grid-area: secondary;
        width: 320px;
    }
}

.trilha-item-row .form-label {
    font-size: 0.8125rem;
}

.trilha-item-formset [data-items-summary] {
    font-size: 0.95rem;
}

.trilha-home-empty {
    color: var(--trilha-muted);
    font-size: 0.875rem;
}

.trilha-home-scope {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.trilha-home-summary .stat-card {
    position: relative;
}

.trilha-task-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    font-weight: 400;
}

.trilha-task-priority-high {
    color: var(--trilha-ink);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.trilha-period-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    font-size: 0.9rem;
}

.trilha-period-presets a {
    font-weight: 600;
}

.trilha-chart-data {
    margin-top: 0.75rem;
}

.trilha-chart-data > summary {
    cursor: pointer;
    font-weight: 600;
    font-size: 0.9rem;
    list-style: revert;
}

.trilha-chart-data .table-responsive-trilha {
    margin-top: 0.75rem;
}
