@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&display=swap');

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--type-texto);
    background:
        radial-gradient(1200px 480px at 12% -10%, rgba(139, 105, 20, 0.07), transparent 55%),
        radial-gradient(900px 420px at 100% 0%, rgba(30, 42, 38, 0.05), transparent 50%),
        linear-gradient(180deg, var(--surface-page-soft) 0%, var(--surface-page) 40%, #ebe7df 100%);
    background-attachment: fixed;
    color: var(--text-primary);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}

/* —— Ritmo tipográfico (Constituição §4.2) —— */
.type-display,
.brand-wordmark {
    font-family: var(--font-display);
    font-size: var(--type-display);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.type-titulo,
.page-header h1,
.hoje-head h1,
.escola-head h1,
.trabalho-shell__title {
    font-family: var(--font-display);
    font-size: var(--type-titulo);
    font-weight: 700;
    color: var(--text-strong);
    letter-spacing: -0.01em;
    line-height: 1.25;
    margin: 0 0 6px;
}
.type-secao,
.visao-bloco > h3,
.hoje-secao > h2,
.card > h2 {
    font-family: var(--font-display);
    font-size: var(--type-secao);
    font-weight: 700;
    color: var(--text-strong);
    letter-spacing: -0.01em;
    line-height: 1.3;
}
.type-subsecao {
    font-family: var(--font-body);
    font-size: var(--type-subsecao);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}
.type-lead,
.page-lead,
.hoje-pergunta {
    font-family: var(--font-body);
    font-size: var(--type-lead);
    font-weight: 400;
    color: var(--text-muted);
    line-height: 1.45;
    margin: 4px 0 0;
}
.type-meta { font-size: var(--type-meta); color: var(--text-muted); }
.type-legenda { font-size: var(--type-legenda); color: var(--text-muted); }

h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 700;
    color: var(--text-strong);
    letter-spacing: -0.01em;
    line-height: 1.25;
}

a {
    color: var(--emphasis);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color var(--motion-base) var(--motion-ease), color var(--motion-fast) var(--motion-ease);
}
a:hover {
    border-bottom-color: var(--emphasis);
    text-decoration: none;
}

/* —— Densidade (nível 1 Documento · 2 Painel · 3 Ferramenta) —— */
.density-documento {
    background: var(--surface-panel);
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: var(--space-doc) 0;
}
.density-documento--paper {
    padding: 2.4cm 2cm;
    border: 1px solid var(--border-default);
    border-radius: 4px;
    box-shadow: none;
    background: var(--surface-panel);
}
.peca-editor__wrap.density-documento--paper,
.modelo-editor-wrap.density-documento--paper {
    padding: 0;
}
.density-painel {
    background: var(--surface-panel);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow-panel);
}
.density-ferramenta {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

/* —— Superfícies fundamentais —— */
.surface-documento {
    /* leitura longa · pouco chrome */
}
.surface-documento .card {
    box-shadow: none;
    border-color: var(--border-soft);
}
.surface-operacao {
    /* fluxos · formulários — padrão atual */
}
.surface-controle .controle-kpi {
    border-radius: 4px;
    box-shadow: none;
}
.surface-conhecimento .hub-card,
.surface-conhecimento .escola-ativa {
    box-shadow: none;
}

/* —— Estados semânticos —— */
.state-ok { color: var(--state-ok); }
.state-warn { color: var(--state-warn); }
.state-alert { color: var(--state-alert); }
.state-history { color: var(--state-history); }
.bg-state-ok { background: color-mix(in srgb, var(--state-ok) 12%, white); }
.bg-state-warn { background: color-mix(in srgb, var(--state-warn) 12%, white); }
.bg-state-alert { background: color-mix(in srgb, var(--state-alert) 10%, white); }

/* Topbar — grafite editorial (papel Marca) */
.topbar {
    background: var(--brand-chrome);
    color: var(--evid-ivory-light);
    padding: 12px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 1px 0 rgba(0,0,0,0.2);
    position: sticky;
    top: 0;
    z-index: 50;
}

.topbar nav a {
    color: rgba(250, 250, 250, 0.85);
    margin-left: 14px;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    border-bottom: none;
}
.topbar nav a:hover {
    color: var(--evid-ivory-light);
}

/* Toggle hamburger (mobile) */
.nav-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,0.28);
    border-radius: 8px;
    background: rgba(255,255,255,0.06);
    color: var(--evid-ivory-light);
    font: inherit;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.nav-toggle:hover { background: rgba(255,255,255,0.12); }
.nav-toggle__bars {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 18px;
}
.nav-toggle__bars span {
    display: block;
    height: 2px;
    width: 100%;
    background: currentColor;
    border-radius: 1px;
    transition: transform 0.2s, opacity 0.2s;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(2) {
    opacity: 0;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}
.calendar-header-icon__label { display: none; }

.topbar .calendar-header-icon {
    width: 32px;
    height: 32px;
    margin-left: 6px;
    background: transparent;
    border-color: rgba(255,255,255,0.28);
    color: rgba(250,250,250,0.85);
}
.topbar .calendar-header-icon:hover {
    border-color: rgba(255,255,255,0.55);
    color: #fff;
}
.topbar .calendar-header-icon.is-active {
    background: rgba(255,255,255,0.14);
    border-color: rgba(255,255,255,0.45);
    color: #fff;
}

/* —— Página: canvas + painéis —— */
.container,
.page,
.trabalho-shell {
    max-width: var(--page-max);
    margin: 0 auto;
    padding: 28px 22px 56px;
}

.page-header,
.hoje-head,
.escola-head,
.container > header.row-between,
.container > header.page-header,
.page > header.page-header,
.trabalho-shell__head {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--evid-border);
    position: relative;
}

.page-header.row-between,
.page-header:has(> a),
.page-header:has(> .btn) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.page-header::after,
.hoje-head::after,
.escola-head::after,
.container > header.page-header::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 56px;
    height: 2px;
    background: var(--evid-bronze);
}

.page-header h1,
.hoje-head h1,
.escola-head h1,
.container > header h1,
.trabalho-shell__title {
    margin: 0 0 6px;
    font-size: 1.65rem;
    font-weight: 700;
}

.hoje-pergunta,
.page-lead {
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 400;
    color: var(--evid-muted);
    margin: 4px 0 0;
    max-width: 36em;
}

/* Painel / superfície — densidade 2 (Constituição) */
.card,
.panel,
.painel-lista,
.hoje-secao,
.visao-proximo,
.visao-bloco {
    background: var(--surface-panel);
    border: 1px solid var(--border-default);
    border-radius: var(--radius-panel);
    box-shadow: var(--shadow-panel);
}

.painel-lista {
    padding: 6px 12px;
    margin-bottom: var(--space-section);
}

.painel-lista > .acao-lista {
    margin: 0 -4px;
}

.card {
    padding: 20px 22px;
    margin-bottom: var(--space-section);
}

.card h1 { margin-top: 0; font-size: 1.125rem; }
.card h2 {
    font-size: 0.78rem;
    font-family: var(--font-body);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--evid-muted);
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--evid-beige);
}

.card h3 { font-size: 1rem; font-family: var(--font-display); }

.btn {
    display: inline-block;
    padding: 9px 18px;
    border-radius: 6px;
    border: 1px solid var(--border-default);
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    transition: background var(--motion-base) var(--motion-ease), color var(--motion-fast) var(--motion-ease), border-color var(--motion-base) var(--motion-ease);
}

.btn,
.btn-primary {
    background: var(--emphasis);
    color: #fffaf0;
    border-color: var(--emphasis);
}
.btn:hover,
.btn-primary:hover {
    background: var(--brand-chrome);
    border-color: var(--brand-chrome);
    color: #fffaf0;
}

.btn-secondary {
    background: transparent;
    color: var(--evid-text);
    border-color: var(--evid-border);
}
.btn-secondary:hover {
    border-color: var(--evid-bronze);
    color: var(--evid-bronze);
    background: rgba(139, 105, 20, 0.04);
}

.btn-sm { padding: 6px 12px; font-size: 0.75rem; }


.form-group { margin-bottom: 18px; }
.form-group label {
    display: block;
    font-weight: 500;
    font-size: 0.8125rem;
    letter-spacing: 0;
    text-transform: none;
    color: var(--evid-muted);
    margin-bottom: 6px;
}
.form-control {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--evid-border);
    border-radius: 6px;
    font-family: var(--font-body);
    font-size: 1rem;
    background: var(--evid-ivory-light);
    color: var(--evid-text);
}
.form-control:focus {
    outline: none;
    border-color: var(--evid-bronze);
}

.alert {
    padding: 14px 18px;
    border-radius: 2px;
    margin-bottom: 20px;
    border-left: 3px solid;
    font-size: 0.95rem;
}
.alert-success {
    background: var(--evid-ivory-light);
    border-color: var(--evid-bronze);
    color: var(--evid-text);
}
.alert-danger {
    background: #faf8f5;
    border-color: #8b3a3a;
    color: #5c2020;
}

.badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: none;
    background: var(--evid-beige);
    color: var(--evid-text);
    border: none;
}

.container > header.row-between {
    position: relative;
}
.container > header.row-between::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 56px;
    height: 2px;
    background: var(--evid-bronze);
}

.container > .acao-lista {
    background: var(--evid-panel);
    border: 1px solid var(--evid-border);
    border-radius: var(--radius-panel);
    padding: 6px 14px;
    margin-bottom: var(--space-section);
    box-shadow: var(--shadow-panel);
}

table { width: 100%; border-collapse: collapse; }
th, td {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--evid-border);
}
th {
    font-size: 0.75rem;
    text-transform: none;
    letter-spacing: 0;
    color: var(--evid-muted);
    font-weight: 500;
}

.stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}
.stat {
    background: var(--evid-card);
    border: 1px solid var(--evid-border);
    border-radius: 8px;
    padding: 20px 22px;
}
.stat .val {
    font-family: var(--font-display);
    font-size: 1.375rem;
    font-weight: 600;
    color: var(--evid-black);
}
.stat .lbl {
    color: var(--evid-muted);
    font-size: 0.8125rem;
    letter-spacing: 0;
    text-transform: none;
}

/* Login */
.login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(1000px 420px at 20% -5%, rgba(139, 105, 20, 0.08), transparent 55%),
        linear-gradient(180deg, var(--evid-ivory-light) 0%, var(--evid-ivory) 100%);
    padding: 24px;
}

.login-card {
    width: 100%;
    max-width: 400px;
    background: var(--evid-panel);
    border-radius: 12px;
    padding: 36px 32px;
    border: 1px solid var(--evid-border);
    box-shadow: var(--shadow-panel);
}

.login-card .brand-wordmark {
    color: var(--evid-black);
    font-size: 1.5rem;
    text-align: center;
    display: block;
}

.login-card .brand-tagline {
    text-align: center;
    margin-bottom: 28px;
}

.hash-mono {
    font-family: ui-monospace, 'Cascadia Code', monospace;
    font-size: 0.72rem;
    color: var(--evid-muted);
    word-break: break-all;
}

code {
    font-family: ui-monospace, monospace;
    font-size: 0.85em;
    background: var(--evid-beige);
    padding: 2px 6px;
    border-radius: 2px;
}

.page-lead {
    color: var(--evid-muted);
    font-size: 1rem;
    font-style: normal;
    margin-top: -8px;
}

.muted { color: var(--evid-muted); font-size: 0.8125rem; }
.row-between { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 800px) { .grid-2 { grid-template-columns: 1fr; } }
.btn-group { display: flex; flex-wrap: wrap; gap: 8px; }
.lista-simples { margin: 0; padding-left: 1.2rem; }
.lista-simples li { margin-bottom: 6px; }
.form-compact { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
.inline-fsm { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.badge-inbox { background: #e8f0e8; }
.badge-insight { background: #f5efe6; }
.alert-error { background: #fde8e8; color: #8b1a1a; border: 1px solid #f0c0c0; padding: 10px 14px; border-radius: 6px; margin-bottom: 12px; }
form label { display: block; margin-bottom: 12px; font-size: 0.75rem; color: var(--evid-muted); }
form label input, form label textarea, form label select {
    display: block; width: 100%; margin-top: 4px;
    padding: 8px 10px; border: 1px solid var(--evid-border); border-radius: 6px;
    font: inherit; color: var(--evid-text); background: #fff;
}

/* —— UX Trabalho-raiz —— */
.topbar-nav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; flex: 1; justify-content: flex-end; }
.nav-daily, .nav-org { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.nav-sep { width: 1px; height: 22px; background: rgba(255,255,255,.25); margin: 0 10px; }
.topbar-nav a.is-active, .nav-dropdown.is-active > summary { color: #fff; border-bottom: 1px solid rgba(255,255,255,.5); }
.nav-dropdown { position: relative; }
.nav-dropdown > summary {
    list-style: none; cursor: pointer; color: rgba(250,250,250,.85);
    margin-left: 12px; font-size: 0.8125rem; font-weight: 500; padding: 4px 0;
}
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown__panel {
    position: absolute; right: 0; top: 100%; min-width: 220px; z-index: 40;
    background: #fff; color: var(--evid-text); border: 1px solid var(--evid-border);
    border-radius: 8px; padding: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.nav-dropdown__panel a {
    display: block; color: var(--evid-text) !important; margin: 0 !important;
    padding: 8px 10px; border-radius: 4px; border-bottom: none !important;
}
.nav-dropdown__panel a:hover { background: var(--evid-beige, #f5f2eb); }

.trabalho-shell { max-width: var(--page-max); margin: 0 auto; padding: 28px 22px 56px; }
.trabalho-shell__head {
    display: flex; justify-content: space-between; gap: 16px; align-items: flex-start;
    margin-bottom: 16px; padding-bottom: 18px;
    border-bottom: 1px solid var(--evid-border);
    position: relative;
}
.trabalho-shell__head::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 56px;
    height: 2px;
    background: var(--evid-bronze);
}
.trabalho-shell__title { margin: 0; font-size: 1.5rem; }
.trabalho-shell__body {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 4px 0 8px;
    box-shadow: none;
}
.trabalho-tabs {
    display: flex; flex-wrap: wrap; gap: 2px; margin: 0 0 20px;
    padding: 4px; background: rgba(255,255,255,0.55);
    border: 1px solid var(--evid-border); border-radius: 8px;
}
.trabalho-tabs a {
    padding: 8px 14px; color: var(--evid-muted); border-bottom: none;
    margin-bottom: 0; font-size: 0.8125rem; border-radius: 6px;
    font-weight: 500;
}
.trabalho-tabs a:hover { color: var(--evid-text); background: rgba(255,255,255,0.8); }
.trabalho-tabs a.is-active {
    color: var(--evid-black); background: var(--evid-panel);
    font-weight: 600; box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}

.overview-question {
    font-family: var(--font-display); font-size: 1.2rem; margin: 0 0 16px;
}

.add-menu { position: relative; }
.add-menu > summary { list-style: none; cursor: pointer; }
.add-menu > summary::-webkit-details-marker { display: none; }
.add-menu__panel {
    position: absolute; right: 0; top: 110%; z-index: 30; min-width: 180px;
    background: #fff; border: 1px solid var(--evid-border); border-radius: 8px;
    padding: 6px; box-shadow: 0 8px 20px rgba(0,0,0,.1);
}
.add-menu__panel a { display: block; padding: 8px 10px; color: var(--evid-text); border: none; }
.add-menu__panel a:hover { background: var(--evid-beige, #f5f2eb); border: none; }
.card-link { display: block; color: inherit; border-bottom: none !important; }
.card-link:hover { border-color: var(--evid-bronze); }

/* —— L1/L2 surfaces —— */
.nav-org--quiet a { opacity: 0.72; font-size: 0.75rem; }
.nav-org--quiet a.is-active { opacity: 1; }

.hoje-head { margin-bottom: 28px; }

/* Grade: eixos urgentes em faixa cheia; demais em duas colunas */
.hoje-grade {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-section);
    align-items: start;
}
@media (min-width: 720px) {
    .hoje-grade {
        grid-template-columns: 1fr 1fr;
    }
    .hoje-secao--faixa {
        grid-column: 1 / -1;
    }
}

.hoje-secao {
    margin-bottom: 0;
    padding: 16px 18px 6px;
    min-height: 100%;
}
.hoje-secao h2 {
    font-family: var(--font-body);
    font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.07em;
    color: var(--evid-muted); margin: 0 0 10px; font-weight: 600;
    padding-bottom: 10px; border-bottom: 1px solid var(--evid-beige);
    display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
}
.hoje-secao__count {
    font-variant-numeric: tabular-nums;
    font-size: 0.7rem;
    color: var(--evid-bronze);
    letter-spacing: 0;
    text-transform: none;
    font-weight: 600;
}
.hoje-secao--quiet { opacity: 0.92; }
.hoje-secao--faixa {
    border-left: 3px solid rgba(139, 105, 20, 0.45);
}
.hoje-secao--radar {
    border-left: 3px solid var(--state-alerta, #b33);
}
.acao-item--alerta .acao-item__mark { background: var(--state-alerta, #b33); }

.acao-lista { list-style: none; margin: 0 -8px; padding: 0; }
.acao-item { border-bottom: 1px solid var(--evid-beige); }
.acao-item:last-child { border-bottom: none; }
.acao-item a {
  display: flex; gap: 12px; align-items: flex-start; padding: 14px 8px;
  color: inherit; border: none !important; text-decoration: none;
  border-radius: 6px; margin: 0;
}
.acao-item a:hover { background: var(--evid-ivory); }
.acao-item__mark {
  width: 8px; height: 8px; border-radius: 50%; margin-top: 7px; flex-shrink: 0;
  background: var(--evid-bronze, #a67c52);
}
.acao-item--pergunta .acao-item__mark { background: #b33; }
.acao-item--material .acao-item__mark { background: #2a6; }
.acao-item--posicao .acao-item__mark { background: #c90; }
.acao-item--sugestao .acao-item__mark { background: #888; }
.acao-item--relacao .acao-item__mark { background: #66a; }
.acao-item--parada .acao-item__mark { background: #a86; }
.acao-item--info .acao-item__mark { background: #789; }
.acao-item__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.acao-item__titulo { font-weight: 600; font-size: 0.9375rem; }
.acao-item__ctx { font-size: 0.8rem; color: var(--evid-muted); }
.acao-item__detalhe { font-size: 0.875rem; }
.acao-item__quando { font-size: 0.75rem; color: var(--evid-muted); white-space: nowrap; padding-top: 2px; }

/* Densidade compacta — prioriza leitura do conteúdo (default /hoje) */
.hoje--compacta .hoje-head { margin-bottom: 16px; }
.hoje--compacta .hoje-grade { gap: 10px; }
.hoje--compacta .hoje-secao {
    padding: 8px 12px 4px;
    box-shadow: none;
    border-radius: 6px;
}
.hoje--compacta .hoje-secao h2 {
    margin: 0 0 6px;
    padding-bottom: 6px;
    font-size: 0.68rem;
}
.hoje--compacta .acao-lista { margin: 0 -4px; }
.hoje--compacta .acao-item a {
    gap: 8px;
    padding: 6px 4px;
}
.hoje--compacta .acao-item__mark {
    width: 6px;
    height: 6px;
    margin-top: 6px;
}
.hoje--compacta .acao-item__titulo { font-size: 0.875rem; font-weight: 600; }
.hoje--compacta .acao-item__ctx { font-size: 0.75rem; }
.hoje--compacta .acao-item__detalhe {
    font-size: 0.8rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.hoje--compacta .acao-item__quando { font-size: 0.7rem; }
.hoje--compacta .hoje-layout-panel {
    margin: 0 0 12px;
    padding: 8px 12px;
    font-size: 0.85rem;
}
.hoje-layout-panel summary {
    cursor: pointer;
    color: var(--evid-muted);
    font-size: 0.8rem;
}
.hoje-ordem-lista {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
}
.hoje-ordem-lista li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    border-bottom: 1px solid var(--evid-beige);
}
.hoje-ordem-lista li:last-child { border-bottom: none; }
.hoje-ordem-lista .hoje-ordem-label { flex: 1; min-width: 0; }
.hoje-ordem-lista button {
    min-width: 2rem;
    padding: 2px 6px;
}

.cliente-lista {
  list-style: none; margin: 0; padding: 0;
  background: var(--evid-panel);
  border: 1px solid var(--evid-border);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
  overflow: hidden;
}
.cliente-lista li { border-bottom: 1px solid var(--evid-beige); }
.cliente-lista li:last-child { border-bottom: none; }
.cliente-lista li a {
  display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
  padding: 16px 20px;
  color: inherit; border: none !important;
}
.cliente-lista li a:hover { background: var(--evid-ivory); }
.cliente-lista li.tem-atencao { box-shadow: inset 3px 0 0 var(--evid-bronze); }

.form-inline-cliente { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.form-inline-cliente label { flex: 1; min-width: 200px; margin: 0; }

.visao { max-width: none; }
.visao > .overview-question { margin-bottom: 18px; }
.visao-proximo {
  padding: 18px 20px; margin: 0 0 20px;
  background: linear-gradient(135deg, #faf6ee 0%, #fff 70%);
  border-color: rgba(139, 105, 20, 0.35);
}
.visao-proximo h3 {
  margin: 0 0 8px; font-size: 0.7rem; font-family: var(--font-body);
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--evid-muted);
  font-weight: 600; border: none; padding: 0;
}
.visao-proximo__texto { font-size: 1.1rem; margin: 0 0 14px; font-family: var(--font-display); }
.visao-bloco {
  margin-bottom: 16px; padding: 16px 18px;
}
.visao-bloco h3 {
  margin: 0 0 10px; font-size: 0.7rem; font-family: var(--font-body);
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--evid-muted);
  font-weight: 600; padding-bottom: 8px; border-bottom: 1px solid var(--evid-beige);
}
.visao-bloco--last { margin-bottom: 0; }

.trabalho-tabs__sep {
  width: 1px; height: 18px; background: var(--evid-border);
  margin: 0 4px; align-self: center;
}
.trabalho-tabs__sec { opacity: 0.75; font-size: 0.75rem !important; }
.trabalho-tabs__sec.is-active { opacity: 1; }

.hoje-pergunta { font-size: 1.05rem; margin: 4px 0 0; color: var(--evid-muted); }

.acao-item--prazo .acao-item__mark { background: #c33; }
.acao-item--financeiro .acao-item__mark { background: #2a7; }
.acao-item--financeiro-vencido .acao-item__mark { background: #c33; }
.acao-item--financeiro-ok .acao-item__mark { background: #888; }
.acao-item__row {
  display: flex; gap: 12px; align-items: flex-start; padding: 14px 8px;
}

.liq-campos { margin: 12px 0 16px; padding: 12px 14px; border: 1px solid var(--evid-beige); border-radius: var(--radius-panel); background: rgba(255,255,255,0.45); }
.liq-campos__titulo { margin: 0 0 10px; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--evid-muted); }
.liq-span2 { grid-column: 1 / -1; }
.liq-copy-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 6px; }
.liq-copy-preview { font-size: 0.7rem; color: var(--evid-muted); max-width: 100%; overflow: hidden; }
.filtros-pill {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px;
  padding: 6px;
  background: rgba(255,255,255,0.5);
  border: 1px solid var(--evid-border);
  border-radius: 8px;
  width: fit-content;
  max-width: 100%;
}
.filtros-pill a {
  font-size: 0.8125rem; padding: 7px 14px; border: none;
  border-radius: 6px; color: var(--evid-muted); text-decoration: none;
  font-weight: 500;
}
.filtros-pill a.is-active {
  color: var(--evid-black); background: var(--evid-panel);
  font-weight: 600; box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}
.lentes-hint { margin: -8px 0 20px; font-size: 0.75rem; }
.lentes-nav { margin-bottom: 8px; }

/* Calendário mensal (padrão Base — grade 7 colunas) */
.cal-page { max-width: 1100px; }
.cal-header {
  display: flex; flex-wrap: wrap; justify-content: space-between;
  align-items: flex-start; gap: 12px; margin-bottom: 16px;
}
.cal-header h1 { margin: 0 0 4px; }
.cal-header__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cal-chip {
  font-size: 0.75rem; padding: 4px 10px; border-radius: 999px;
  background: rgba(0,0,0,0.06); color: var(--evid-muted);
}
.cal-chip--ok { background: rgba(42,170,100,0.15); color: #1a7a45; }
.cal-nav {
  display: flex; align-items: center; gap: 10px; margin-bottom: 12px; flex-wrap: wrap;
}
.cal-nav h2 { margin: 0; font-size: 1.15rem; min-width: 10rem; text-align: center; flex: 1; }
.calendario-weekdays,
.calendario-days {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;
}
.weekday {
  text-align: center; font-size: 0.7rem; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--evid-muted); padding: 4px 0;
}
.dia {
  min-height: 92px; border: 1px solid var(--evid-border); border-radius: 8px;
  background: var(--evid-panel, #fff); padding: 6px; overflow: hidden;
  display: flex; flex-direction: column; gap: 4px;
}
.dia.outro-mes { background: transparent; border-color: transparent; min-height: 40px; }
.dia.hoje { border-color: var(--evid-accent, #c45c26); background: rgba(196,92,38,0.06); }
.dia-numero { font-size: 0.8rem; font-weight: 600; color: var(--evid-muted); }
.dia.hoje .dia-numero { color: var(--evid-black); }
.dia-eventos { display: flex; flex-direction: column; gap: 3px; overflow: hidden; flex: 1; }
.evento-badge {
  display: block; font-size: 0.65rem; line-height: 1.2; padding: 3px 5px;
  border-radius: 4px; color: #fff; text-decoration: none;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.evento-badge.compromisso { background: #2a6f97; }
.evento-badge.prazo { background: #c33; }
.mais-eventos { font-size: 0.65rem; color: var(--evid-muted); }
@media (max-width: 720px) {
  .dia { min-height: 72px; padding: 4px; }
  .evento-badge { font-size: 0.6rem; }
}

.calendar-header-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid var(--evid-border); background: var(--evid-panel, #fff);
  color: var(--evid-black); text-decoration: none; flex-shrink: 0;
}
.calendar-header-icon:hover { border-color: var(--evid-accent, #c45c26); }
.calendar-header-icon.is-active {
  background: var(--evid-accent, #c45c26); border-color: transparent; color: #fff;
}
.calendar-header-icon svg { width: 16px; height: 16px; display: block; }
.form-financeiro__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px; margin-bottom: 12px;
}
.form-financeiro__grid label,
.form-financeiro > label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.8rem;
  color: var(--evid-muted, #666);
}
.form-financeiro__grid input,
.form-financeiro__grid select,
.form-financeiro > label > input,
.form-financeiro > label > select {
  font: inherit;
  font-weight: 400;
  color: var(--evid-text, #222);
  padding: 8px 10px;
  border: 1px solid var(--evid-border, #ddd);
  border-radius: 6px;
  width: 100%;
  box-sizing: border-box;
}
.form-financeiro label.checkbox-row {
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: var(--evid-text, #222);
}
.form-financeiro label.checkbox-row input {
  width: auto;
  padding: 0;
}
.form-financeiro:not(:has(.form-financeiro__grid)) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  align-items: end;
}
.form-financeiro:not(:has(.form-financeiro__grid)) > .btn,
.form-financeiro:not(:has(.form-financeiro__grid)) > button {
  justify-self: start;
}
.inline-form { display: inline; margin: 0; }
.btn-group { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nav-daily { display: flex; flex-wrap: wrap; gap: 2px 4px; align-items: center; }
.nav-daily a { font-size: 0.8125rem; white-space: nowrap; }

.nav-dropdown__hr {
  border: none; border-top: 1px solid var(--evid-border); margin: 6px 0;
}
.nav-dropdown__label {
  display: block; font-size: 0.65rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--evid-muted); padding: 4px 10px 2px;
}
.nav-org--quiet > a,
.nav-org--quiet > .nav-dropdown > summary {
  opacity: 0.65; font-size: 0.72rem !important; font-weight: 400;
}
.nav-org--quiet > a.is-active,
.nav-org--quiet > .nav-dropdown.is-active > summary {
  opacity: 0.95;
}
.nav-daily a {
  font-size: 0.875rem; font-weight: 600;
}

.escola-head { margin-bottom: 28px; }
.escola-head h1 { font-weight: 700; font-size: 1.65rem; font-family: var(--font-display); }
.escola-hero {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 24px 24px;
  margin-bottom: 20px;
  background: var(--evid-panel);
  border: 1px solid var(--evid-border);
  border-left: 3px solid var(--evid-bronze);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
  color: inherit;
  border-top-color: var(--evid-border);
  border-right-color: var(--evid-border);
  border-bottom-color: var(--evid-border);
  text-decoration: none !important;
  transition: border-color var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);
}
.escola-hero:hover {
  color: inherit;
  border-left-color: var(--emphasis-soft);
  box-shadow: var(--shadow-panel);
}
.escola-hero__kicker {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--evid-muted);
  font-weight: 600;
}
.escola-hero__title {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
}
.escola-hero__lead {
  font-size: 0.95rem;
  color: var(--evid-muted);
  max-width: 32em;
}
.escola-ativa {
  background: var(--evid-panel);
  border: 1px solid var(--evid-border);
  border-radius: var(--radius-panel);
  padding: 8px 20px;
  box-shadow: var(--shadow-panel);
}
.escola-ativa__link {
  display: flex; flex-direction: column; gap: 4px;
  padding: 16px 0; border-bottom: 1px solid var(--evid-beige);
  color: inherit; border: none !important;
}
.escola-ativa__link:last-child { border-bottom: none; }
.escola-ativa__link:hover { color: var(--evid-bronze, #a67c52); }
.escola-reserva {
  margin-top: 28px; padding: 18px 20px;
  background: rgba(255,255,255,0.45);
  border: 1px dashed var(--evid-border);
  border-radius: var(--radius-panel);
  opacity: 0.85;
}
.escola-reserva h2 {
  font-size: 0.7rem; font-family: var(--font-body); text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--evid-muted); font-weight: 600; margin: 0 0 8px;
}
.escola-reserva__lista {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 16px;
}
.escola-reserva__lista li {
  font-size: 0.8125rem; color: var(--evid-muted);
}

#grafoCy, .grafo-caso {
  width: 100%;
  height: 440px;
  border: 1px solid var(--evid-border);
  border-radius: var(--radius-panel);
  background: var(--evid-ivory-light);
}
.grafo-caso--escola { height: 520px; }
.grafo-meta { font-size: 0.75rem; color: var(--evid-muted); margin-bottom: 8px; min-height: 1.2em; }
.grafo-loading { color: var(--evid-bronze); }
.grafo-empty, .grafo-error { color: var(--evid-muted); }
.grafo-error { color: #8b3a3a; }

.saude-caso__resumo {
  font-size: 0.875rem;
  margin: 0 0 14px;
  padding: 10px 12px;
  border-left: 3px solid var(--evid-border);
  background: rgba(255,255,255,0.5);
}
.saude-caso__resumo--ok { border-color: #5a7a5a; }
.saude-caso__resumo--atencao { border-color: #a67c2e; }
.saude-caso__resumo--critico { border-color: #8b3a3a; }
.saude-caso__faces {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.saude-face {
  padding: 10px 12px;
  border: 1px solid var(--evid-beige);
  border-radius: var(--radius-panel);
  background: rgba(255,255,255,0.4);
}
.saude-face h4 {
  margin: 0 0 8px;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--evid-muted);
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}
.saude-face__link { font-size: 0.7rem; text-transform: none; letter-spacing: 0; font-weight: 500; }
.saude-face--critico { border-color: #d4a8a8; }
.saude-face--atencao { border-color: #d4c4a0; }
.saude-item--critico { color: #8b3a3a; }
.saude-item--atencao { color: #7a5a20; }

/* —— Patrimônio Intelectual —— */
.pat-kicker {
  margin: 0 0 8px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--evid-muted);
}
.pat-kicker a { color: inherit; border: none; }
.pat-kicker a:hover { color: var(--evid-bronze); }
.pat-head h1 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.pat-obra-line {
  margin: 8px 0 0;
  font-size: 0.9rem;
  color: var(--evid-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  align-items: baseline;
}
.pat-obra-line__sep { margin: 0 6px; opacity: 0.5; }

.pat-main {
  margin-bottom: 28px;
}
.pat-main__bar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.pat-main__bar h2 {
  margin: 0;
  font-size: 0.72rem;
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--evid-muted);
  font-weight: 600;
}
.pat-section-lead {
  margin: 0 0 16px;
  font-size: 0.95rem;
  color: var(--evid-muted);
  max-width: 34em;
}
.pat-empty {
  margin: 0;
  padding: 20px 0;
  color: var(--evid-muted);
  border-top: 1px solid var(--evid-ink-line);
}

.pat-obras {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--evid-border);
}
.pat-obras > li { border-bottom: 1px solid var(--evid-border); }
.pat-obra {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 4px 18px;
  color: inherit;
  border: none !important;
  transition: background 0.15s ease;
}
.pat-obra:hover {
  background: rgba(255, 252, 247, 0.8);
  color: inherit;
}
.pat-obra__meta {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--evid-muted);
}
.pat-obra__titulo {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
}
.pat-obra__sub {
  font-size: 0.875rem;
  color: var(--evid-muted);
}

.pat-ideias {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pat-ideia {
  padding: 18px 0 20px;
  border-top: 1px solid var(--evid-border);
}
.pat-ideia:first-child { border-top: none; padding-top: 4px; }
.pat-ideia__resumo {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.35;
}
.pat-ideia__tese {
  margin: 0 0 12px;
  font-size: 0.98rem;
  line-height: 1.55;
  max-width: 40em;
}
.pat-ideia__field {
  margin: 0 0 6px;
  font-size: 0.875rem;
  color: var(--evid-text);
  line-height: 1.45;
}
.pat-ideia__field span {
  display: block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--evid-muted);
  margin-bottom: 2px;
  font-weight: 600;
}

.pat-trecho,
.pat-ingest {
  margin: 0 0 20px;
  border: 1px solid var(--evid-border);
  border-radius: var(--radius-panel);
  background: var(--evid-panel);
  box-shadow: var(--shadow-panel);
}
.pat-trecho > summary,
.pat-ingest > summary {
  cursor: pointer;
  padding: 14px 18px;
  font-size: 0.875rem;
  font-weight: 600;
  list-style: none;
  color: var(--evid-text);
}
.pat-trecho > summary::-webkit-details-marker,
.pat-ingest > summary::-webkit-details-marker { display: none; }
.pat-trecho > summary::before,
.pat-ingest > summary::before {
  content: '+';
  display: inline-block;
  width: 1.2em;
  color: var(--evid-bronze);
  font-weight: 700;
}
.pat-trecho[open] > summary::before,
.pat-ingest[open] > summary::before { content: '−'; }
.pat-trecho__body {
  padding: 0 18px 18px;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--evid-muted);
  max-width: 42em;
  border-top: 1px solid var(--evid-ink-line);
  padding-top: 14px;
  margin: 0 18px 18px;
}

.pat-form {
  padding: 4px 18px 18px;
  border-top: 1px solid var(--evid-ink-line);
  margin: 0 0 4px;
}
.pat-form__hint {
  margin: 12px 0 14px;
  font-size: 0.85rem;
  color: var(--evid-muted);
}
.pat-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  margin-bottom: 14px;
}
.pat-form__grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--evid-muted);
}
.pat-form__grid input,
.pat-form__grid select,
.pat-form__grid textarea {
  font: inherit;
  font-weight: 400;
  color: var(--evid-text);
  padding: 8px 10px;
  border: 1px solid var(--evid-border);
  border-radius: 6px;
  background: #fff;
}
.pat-span2 { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .pat-form__grid { grid-template-columns: 1fr; }
}

.pat-sugere__card {
  margin: 0 0 12px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--evid-ink-line);
}
.pat-sugere__card:last-of-type { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.pat-sugere__resumo {
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}
.pat-sugere__tese {
  margin: 0 0 8px;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--evid-text);
}
.pat-sugere__fonte {
  margin: 0 0 10px;
  font-size: 0.8rem;
  color: var(--evid-muted);
}
.pat-sugere__fonte a { border: none; }
.pat-sugere__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.pat-sugere__acoes form { margin: 0; }
.pat-sugere__aceitos {
  list-style: none;
  margin: 12px 0 0;
  padding: 10px 0 0;
  border-top: 1px dashed var(--evid-border);
  font-size: 0.85rem;
}
.pat-sugere__aceitos li { margin: 0 0 4px; }
.pat-sugere__aceitos a { border: none; }
.pat-sugere__tambem,
.pat-sugere__correlatos {
  margin: 10px 0 0;
  font-size: 0.9rem;
  line-height: 1.45;
}
.pat-sugere__tambem a,
.pat-sugere__correlatos a { border: none; }
.escola-precedentes {
  margin: 1.5rem 0;
}
.escola-precedentes h2 {
  font-size: 1.05rem;
  margin: 0 0 6px;
}
.escola-precedentes__lista {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.escola-precedentes__lista li {
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.escola-precedentes__resumo {
  display: block;
  margin-top: 2px;
  font-size: 0.88rem;
}
.prontuario-marcos {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}
.prontuario-marcos li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
.prontuario-marcos li.is-done strong { opacity: 0.85; }
.pipeline-sala {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0 0 1.25rem;
  font-size: 0.92rem;
}
.pipeline-sala__step {
  padding: 4px 10px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 4px;
}
.pipeline-sala__step.is-active {
  border-color: rgba(0,0,0,0.35);
  font-weight: 600;
}
.pipeline-sala__step em {
  font-style: normal;
  opacity: 0.7;
  margin-left: 4px;
}
.pipeline-sala__arrow { opacity: 0.4; }

/* —— Disposition product-wide —— */
nav.trabalho-tabs.fin-tabs { margin-bottom: 14px; flex-wrap: wrap; align-items: center; }
.fin-tabs__group {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--evid-muted);
  margin: 0 4px 0 2px;
  align-self: center;
}
.fin-tabs__hint {
  margin: -6px 0 16px;
  font-size: 0.88rem;
  max-width: 720px;
}

.page-empty {
  margin: 8px 0 20px;
  padding: 18px 0;
  color: var(--evid-muted);
  border-top: 1px solid var(--evid-ink-line);
}
.page-aside {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px dashed var(--evid-border);
}
.page-aside h2 {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--evid-muted);
  font-weight: 600;
}
.page-stack { display: flex; flex-direction: column; gap: 28px; }
.page-stack__sec h2 {
  margin: 0 0 12px;
  font-size: 0.72rem;
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--evid-muted);
  font-weight: 600;
}

.page-ingest {
  margin: 20px 0 0;
  border: 1px solid var(--evid-border);
  border-radius: var(--radius-panel);
  background: var(--evid-panel);
  box-shadow: var(--shadow-panel);
}
.page-ingest--quiet {
  box-shadow: none;
  background: rgba(255,255,255,0.5);
}
.page-ingest > summary {
  cursor: pointer;
  padding: 14px 18px;
  font-size: 0.875rem;
  font-weight: 600;
  list-style: none;
  color: var(--evid-text);
}
.page-ingest > summary::-webkit-details-marker { display: none; }
.page-ingest > summary::before {
  content: '+';
  display: inline-block;
  width: 1.2em;
  color: var(--evid-bronze);
  font-weight: 700;
}
.page-ingest[open] > summary::before { content: '−'; }
.page-ingest__form {
  padding: 4px 18px 18px;
  border-top: 1px solid var(--evid-ink-line);
}
.page-ingest__form.form-inline-cliente {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
  padding-top: 14px;
}
.page-ingest__form.form-inline-cliente label {
  flex: 1 1 220px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--evid-muted);
}
.page-ingest__form.form-inline-cliente input {
  font: inherit;
  font-weight: 400;
  padding: 8px 10px;
  border: 1px solid var(--evid-border);
  border-radius: 6px;
}

.modelo-item { border: none; padding: 0; }
.modelo-item__sum {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 4px 14px;
  cursor: pointer;
  list-style: none;
}
.modelo-item__sum::-webkit-details-marker { display: none; }
.modelo-item[open] .modelo-item__sum {
  border-bottom: 1px solid var(--evid-ink-line);
  margin-bottom: 8px;
}

.filtros-pill { margin-bottom: 18px; }

/* —— Manual da tela (FAB + dialog) —— */
.help-fab {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px 12px 12px;
  border: 1px solid rgba(139, 105, 20, 0.45);
  border-radius: 999px;
  background: linear-gradient(145deg, #2c2c30 0%, #1a1a1c 70%);
  color: #f5f2eb;
  box-shadow: 0 10px 28px rgba(26, 26, 28, 0.28), 0 0 0 1px rgba(255,255,255,0.04) inset;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 600;
  transition: background var(--motion-base) var(--motion-ease), box-shadow var(--motion-base) var(--motion-ease);
}
.help-fab:hover {
  box-shadow: 0 10px 28px rgba(26, 26, 28, 0.32);
}
.help-fab__glyph {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--evid-bronze);
  color: #fffaf0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.help-fab__label { letter-spacing: 0.02em; }

.help-dialog {
  border: none;
  padding: 0;
  max-width: min(640px, calc(100vw - 32px));
  width: 100%;
  background: transparent;
}
.help-dialog::backdrop {
  background: rgba(26, 26, 28, 0.55);
  backdrop-filter: blur(3px);
}
.help-dialog__frame {
  background:
    radial-gradient(520px 180px at 0% 0%, rgba(139, 105, 20, 0.12), transparent 55%),
    linear-gradient(180deg, #fffcf7 0%, #f5f2eb 100%);
  border: 1px solid var(--evid-border);
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.28);
  overflow: hidden;
  animation: helpIn var(--motion-base) var(--motion-ease);
}
@keyframes helpIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.help-dialog__head {
  position: relative;
  padding: 22px 48px 16px 24px;
  border-bottom: 1px solid var(--evid-beige);
}
.help-dialog__kicker {
  margin: 0 0 6px;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--evid-muted);
  font-weight: 600;
}
.help-dialog__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1.25;
}
.help-dialog__question {
  margin: 10px 0 0;
  font-size: 1.05rem;
  color: var(--evid-text);
  font-family: var(--font-display);
  line-height: 1.4;
  max-width: 28em;
}
.help-dialog__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: transparent;
  color: var(--evid-muted);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.help-dialog__close:hover {
  background: rgba(0,0,0,0.05);
  color: var(--evid-text);
}
.help-dialog__body {
  padding: 18px 24px 8px;
  max-height: min(68vh, 560px);
  overflow: auto;
}
.help-block { margin: 0 0 18px; }
.help-block h3 {
  margin: 0 0 10px;
  font-size: 0.7rem;
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--evid-muted);
  font-weight: 600;
}
.help-block--conceito {
  padding: 0 0 4px;
  border-bottom: 1px solid var(--evid-beige);
  margin-bottom: 20px;
}
.help-block--conceito p {
  margin: 0 0 12px;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--evid-text);
  max-width: 42em;
}
.help-block--conceito p:last-child { margin-bottom: 14px; }
.help-block--passos ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.help-block--passos li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  background: var(--evid-panel);
  border: 1px solid var(--evid-border);
  border-radius: 10px;
  font-size: 0.92rem;
  line-height: 1.45;
}
.help-step-num {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(139, 105, 20, 0.12);
  color: var(--evid-bronze);
  font-weight: 700;
  font-size: 0.8rem;
}
.help-block--dicas ul,
.help-block--evitar ul {
  margin: 0;
  padding: 0 0 0 1.1em;
  color: var(--evid-text);
  font-size: 0.9rem;
  line-height: 1.5;
}
.help-block--dicas {
  padding: 12px 14px;
  background: rgba(90, 122, 90, 0.08);
  border-radius: 10px;
  border: 1px solid rgba(90, 122, 90, 0.2);
}
.help-block--evitar {
  padding: 12px 14px;
  background: rgba(139, 58, 58, 0.06);
  border-radius: 10px;
  border: 1px solid rgba(139, 58, 58, 0.18);
}
.help-dialog__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 24px 20px;
  border-top: 1px solid var(--evid-beige);
}
.help-dialog__meta {
  font-size: 0.7rem;
  color: var(--evid-muted);
  font-family: ui-monospace, monospace;
}
@media (max-width: 520px) {
  .help-fab__label { display: none; }
  .help-fab { padding: 12px; border-radius: 50%; }
  .help-dialog__foot { flex-direction: column; align-items: stretch; }
}

/* —— Mobile shell / menu —— */
@media (max-width: 960px) {
  .topbar {
    flex-wrap: wrap;
    padding: 10px 14px;
    gap: 10px;
    align-items: center;
  }
  .brand-tagline--light { display: none; }
  .brand-wordmark { font-size: 0.85rem; }
  .brand-monogram { width: 32px; height: 32px; }
  .nav-toggle { display: inline-flex; }

  .topbar-nav {
    display: none;
    flex: 1 1 100%;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    padding: 8px 0 12px;
    border-top: 1px solid rgba(255,255,255,0.12);
    max-height: min(78vh, 640px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .topbar-nav.is-open { display: flex; }

  .nav-sep {
    width: auto;
    height: 1px;
    margin: 10px 4px;
    background: rgba(255,255,255,0.14);
  }
  .nav-daily,
  .nav-org {
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    width: 100%;
  }
  .topbar nav a,
  .nav-dropdown > summary {
    margin-left: 0 !important;
    padding: 12px 12px;
    border-radius: 8px;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    border-bottom: none !important;
    display: block;
  }
  .topbar-nav a.is-active,
  .nav-dropdown.is-active > summary {
    background: rgba(255,255,255,0.1);
    color: #fff;
    border-bottom: none;
  }
  .topbar .calendar-header-icon {
    width: auto;
    height: auto;
    justify-content: flex-start;
    gap: 10px;
    border-radius: 8px;
    padding: 12px;
    border: none;
  }
  .calendar-header-icon__label {
    display: inline;
    font-size: 0.9375rem;
    font-weight: 500;
  }

  .nav-dropdown__panel {
    position: static;
    min-width: 0;
    margin: 4px 0 8px;
    box-shadow: none;
    background: rgba(0,0,0,0.22);
    border-color: rgba(255,255,255,0.12);
  }
  .nav-dropdown__panel a {
    color: rgba(250,250,250,0.92) !important;
    padding: 10px 12px;
  }
  .nav-dropdown__panel a:hover {
    background: rgba(255,255,255,0.08);
  }
  .nav-dropdown__label { color: rgba(250,250,250,0.45); }
  .nav-dropdown__hr { border-top-color: rgba(255,255,255,0.12); }

  .container,
  .page,
  .trabalho-shell {
    padding: 18px 14px 72px;
  }
  .page-header h1,
  .hoje-head h1,
  .escola-head h1,
  .container > header h1,
  .trabalho-shell__title {
    font-size: 1.35rem;
  }
  .hoje-pergunta,
  .page-lead {
    font-size: 0.95rem;
  }
  .row-between { gap: 10px; }
  .trabalho-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 4px;
    padding-bottom: 6px;
    margin-left: -4px;
    margin-right: -4px;
    padding-left: 4px;
    padding-right: 4px;
  }
  .trabalho-tabs a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .filtros-pill {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .login-card {
    padding: 28px 20px;
  }
  .help-fab {
    bottom: 16px;
    right: 16px;
  }
  body.nav-open {
    overflow: hidden;
  }
}

@media (max-width: 420px) {
  .nav-toggle__text { display: none; }
  .nav-toggle { padding: 10px; }
}

/* Sala de Controle (Fatia 41) */
.controle-saude {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 20px 24px;
  margin-bottom: 8px;
  border-radius: 4px;
  border: 1px solid var(--border, #ddd);
  background: var(--surface, #fafafa);
}
.controle-saude__score {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  min-width: 3.2rem;
  text-align: center;
}
.controle-score--verde .controle-saude__score { color: var(--state-ok); }
.controle-score--amarelo .controle-saude__score { color: var(--state-warn); }
.controle-score--vermelho .controle-saude__score { color: var(--state-alert); }
.controle-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.controle-kpi {
  padding: 12px 14px;
  border: 1px solid var(--border, #e5e5e5);
  border-radius: 4px;
}
.controle-kpi__label {
  font-size: 0.8rem;
  color: var(--muted, #666);
  margin-bottom: 4px;
}
.controle-kpi__valor {
  font-size: 1.15rem;
  font-weight: 600;
}
.controle-kpi__valor a { text-decoration: none; color: inherit; }
.controle-kpi__valor a:hover { text-decoration: underline; }

/* Hub de sub-áreas (painel-índice por capacidade) */
.hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.hub-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--surface-panel);
  color: inherit;
  text-decoration: none;
  box-shadow: none;
  transition: border-color var(--motion-base) var(--motion-ease);
}
.hub-card:hover {
  border-color: var(--emphasis);
  transform: none;
}
.hub-card__title {
  font-weight: 600;
  font-size: 1.02rem;
}
.hub-card__desc {
  font-size: 0.82rem;
  color: var(--evid-muted, #666);
  line-height: 1.35;
}
.hub-card__meta {
  margin-top: 4px;
  font-size: 0.78rem;
  color: var(--evid-bronze, #a67c52);
  font-weight: 600;
}

/* —— Editor de peça (Quill + ABNT) —— */
.peca-editor {
  max-width: 52rem;
}
.peca-editor__head { margin-bottom: 14px; }
.peca-editor__title {
  margin: 0 0 4px;
  font-size: 1.35rem;
  font-weight: 700;
}
.peca-export {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.peca-export__btn {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border: 1px solid var(--evid-border, #ddd);
  border-radius: 6px;
  background: var(--evid-panel, #fff);
  color: inherit;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
}
.peca-export__btn:hover {
  border-color: var(--evid-bronze, #a67c52);
  color: var(--evid-bronze, #a67c52);
}
.peca-editor__toolbar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: flex-end;
  margin-bottom: 10px;
}
.peca-editor__norma {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.8rem;
  color: var(--evid-muted, #666);
}
.peca-editor__norma select {
  font: inherit;
  padding: 6px 10px;
  border: 1px solid var(--evid-border, #ddd);
  border-radius: 6px;
  min-width: 12rem;
}
.peca-editor__check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  margin: 0;
  padding-bottom: 6px;
}
.peca-editor__wrap {
  background: var(--surface-panel);
  border: 1px solid var(--border-default);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: none;
  margin-bottom: 14px;
}
.peca-editor__wrap .ql-toolbar.ql-snow {
  border: none;
  border-bottom: 1px solid var(--divider);
  background: var(--surface-page-soft);
  padding: 8px 10px;
  font-family: var(--font-body);
}
.peca-editor__wrap .ql-container.ql-snow {
  border: none;
  font-family: var(--font-doc);
  font-size: 12pt;
  min-height: 420px;
}
.peca-editor__wrap .ql-editor {
  min-height: 420px;
  line-height: 1.5;
  text-align: justify;
  padding: 2.4cm 2cm;
  color: var(--text-strong);
}
.peca-editor__wrap .ql-editor p {
  text-indent: 1.25cm;
  margin: 0;
}
.peca-editor__wrap .ql-editor h1,
.peca-editor__wrap .ql-editor h2,
.peca-editor__wrap .ql-editor h3 {
  text-indent: 0;
  text-align: center;
  font-family: var(--font-doc);
  margin: 0.6em 0;
}
.peca-editor__wrap .ql-editor.ql-blank::before {
  font-style: normal;
  color: var(--text-muted);
  left: 2cm;
  right: 2cm;
  font-family: var(--font-doc);
}
.abnt-preview {
  font-family: var(--font-doc);
  font-size: 12pt;
  line-height: 1.5;
  text-align: justify;
  padding: 2.4cm 2cm;
  background: var(--surface-panel);
  border: 1px solid var(--border-default);
  border-radius: 4px;
  box-shadow: none;
}
.abnt-preview p { text-indent: 1.25cm; margin: 0; }
.peca-editor__actions { margin-top: 4px; }
.pecas-aba .acao-item__row { align-items: center; }

.peca-fmt {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.peca-fmt__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 11px;
  min-width: 3.2rem;
  border: 1px solid var(--border-default);
  border-radius: 6px;
  background: var(--surface-panel);
  color: inherit;
  font: inherit;
  font-size: var(--type-legenda);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.2;
  transition: border-color var(--motion-base) var(--motion-ease), color var(--motion-fast) var(--motion-ease), background var(--motion-base) var(--motion-ease);
}
.peca-fmt__btn:hover {
  border-color: var(--emphasis);
  color: var(--emphasis);
}
.peca-fmt__btn--view {
  background: var(--text-strong);
  border-color: var(--text-strong);
  color: #fff;
}
.peca-fmt__btn--view:hover {
  background: var(--emphasis);
  border-color: var(--emphasis);
  color: #fff;
}

.peca-preview-dialog {
  border: none;
  border-radius: 10px;
  padding: 0;
  width: min(920px, 96vw);
  height: min(88vh, 900px);
  max-width: 96vw;
  max-height: 92vh;
  box-shadow: 0 16px 48px rgba(0,0,0,.28);
}
.peca-preview-dialog::backdrop {
  background: rgba(20, 18, 14, 0.55);
}
.peca-preview-dialog__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--evid-border, #e5e5e5);
  background: #faf9f7;
}
.peca-preview-dialog__bar strong {
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.peca-preview-dialog__frame {
  display: block;
  width: 100%;
  height: calc(100% - 48px);
  border: none;
  background: #525659;
}

/* —— Modelos —— */
.modelos-page .page-lead code {
  font-size: 0.85em;
  background: rgba(0,0,0,.04);
  padding: 1px 5px;
  border-radius: 3px;
}
.modelos-lista {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.modelo-card {
  border: 1px solid var(--evid-border, #ddd);
  border-radius: var(--radius-panel, 8px);
  background: var(--evid-panel, #fff);
  box-shadow: var(--shadow-panel, none);
  overflow: hidden;
}
.modelo-item { border: none; margin: 0; }
.modelo-item__sum {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
}
.modelo-item__sum::-webkit-details-marker { display: none; }
.modelo-item__titulo {
  font-weight: 600;
  font-size: 1rem;
}
.modelo-item__vara {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--evid-muted, #666);
  flex-shrink: 0;
}
.modelo-item[open] .modelo-item__sum {
  border-bottom: 1px solid var(--evid-ink-line, #eee);
  background: rgba(0,0,0,.015);
}
.modelo-item__body { padding: 14px 18px 18px; }
.modelo-item__preview {
  margin: 0 0 14px;
  padding: 12px 14px;
  background: #faf9f7;
  border: 1px dashed var(--evid-border, #ddd);
  border-radius: 6px;
  font-family: "Times New Roman", Times, serif;
  font-size: 0.9rem;
  line-height: 1.45;
  white-space: pre-wrap;
  color: var(--evid-muted, #555);
  max-height: 8rem;
  overflow: hidden;
}
.modelo-editor-wrap {
  background: var(--surface-panel);
  border: 1px solid var(--border-default);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: none;
}
.modelo-editor-wrap .ql-toolbar.ql-snow {
  border: none;
  border-bottom: 1px solid var(--divider);
  background: var(--surface-page-soft);
  font-family: var(--font-body);
}
.modelo-editor-wrap .ql-container.ql-snow {
  border: none;
  font-family: var(--font-doc);
  font-size: 12pt;
  min-height: 260px;
}
.modelo-editor-wrap .ql-editor {
  min-height: 260px;
  line-height: 1.5;
  padding: 16px 18px;
}
.modelo-novo .page-ingest__form { padding-top: 14px; }

/* —— Sobre (constituições) —— */
.sobre-page { max-width: 42rem; }
.sobre-preambulo {
  margin: 0 0 16px;
  padding: 14px 18px;
  border-left: 3px solid var(--emphasis, #8b6914);
  background: var(--surface-page-soft, #f7f5f0);
  font-family: var(--font-doc, Georgia, serif);
  font-size: 1.05rem;
  line-height: 1.45;
}
.sobre-preambulo p { margin: 0; }
.sobre-objetivo { margin: 0 0 20px; line-height: 1.5; }
.sobre-secao {
  margin: 28px 0;
  padding-top: 8px;
  border-top: 1px solid var(--divider, #e5e0d8);
}
.sobre-secao h2 { margin-top: 0; font-family: var(--font-doc, Georgia, serif); }
.sobre-secao--quiet { opacity: 0.92; }
.sobre-cadeia {
  display: block;
  margin: 12px 0 16px;
  padding: 12px 14px;
  background: var(--surface-page-soft, #f7f5f0);
  border: 1px solid var(--border-soft, #e8e4dc);
  border-radius: 4px;
  font-family: ui-monospace, monospace;
  font-size: 0.8rem;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-x: auto;
}
.sobre-leis {
  margin: 8px 0 16px;
  padding-left: 1.25rem;
  line-height: 1.55;
}
.sobre-leis li { margin-bottom: 8px; }
.sobre-tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  margin: 8px 0 16px;
}
.sobre-tabela th,
.sobre-tabela td {
  text-align: left;
  vertical-align: top;
  padding: 8px 10px;
  border-bottom: 1px solid var(--divider, #e5e0d8);
}
.sobre-tabela th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--evid-muted, #666);
  font-weight: 600;
}
.sobre-objetos { margin-bottom: 16px; }
.sobre-fonte { margin-top: 32px; font-size: 0.85rem; }

/* ============================================================
   Estações de trabalho (Fatia 66 · P-40) — próxima ação
   ============================================================ */
.estacao-label {
  margin: 0 0 4px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--evid-muted);
  font-family: var(--font-body);
}
.estacao-barra {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 18px;
  padding: 14px 16px;
  background: var(--evid-panel);
  border: 1px solid var(--evid-border);
  border-left: 4px solid var(--evid-bronze);
  border-radius: var(--radius-panel, 8px);
}
.estacao-barra__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
}
.estacao-barra__nome {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--evid-bronze);
}
.estacao-barra__verbo {
  font-size: 0.8rem;
  color: var(--evid-muted);
}
.estacao-barra__pergunta {
  margin: 0;
  font-size: 1.05rem;
  font-family: var(--font-display);
  color: var(--evid-black);
  font-weight: 700;
}
.estacao-barra__acao {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.estacao-barra__copy {
  flex: 1;
  min-width: 160px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.estacao-barra__copy strong {
  font-size: 0.95rem;
  color: var(--evid-black);
}
.estacao-barra__vazio { margin: 0; }
.estacao-proximo {
  border-left: 4px solid var(--evid-bronze);
}

.hoje--compacta .estacao-barra {
  padding: 10px 12px;
  margin-bottom: 12px;
}
.hoje--compacta .estacao-barra__pergunta { font-size: 0.95rem; }

/* ============================================================
   Fatia 70 — Ficha Cliente / Constituição da Informação
   ============================================================ */
.ficha-oficio {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 920px;
}
.ficha-oficio__lei {
  margin: 0 0 4px;
  font-size: 0.9rem;
}
.ficha-oficio__prioritario {
  border-color: color-mix(in srgb, var(--evid-bronze) 35%, var(--evid-border, #ddd));
  box-shadow: 0 1px 0 color-mix(in srgb, var(--evid-bronze) 12%, transparent);
}
.ficha-alerta {
  border-left: 3px solid var(--evid-bronze);
}
.ficha-satelite {
  background: color-mix(in srgb, var(--evid-ivory, #f7f4ef) 80%, white);
}
.ficha-satelite__h {
  font-size: 0.95rem;
  margin: 16px 0 6px;
  font-weight: 700;
}
.ficha-satelite__h:first-of-type { margin-top: 4px; }
.ficha-satelite__lista { margin: 0; }
.ficha-satelite__nunca {
  margin-top: 16px;
  font-size: 0.88rem;
}
.ficha-details {
  padding: 12px 16px;
}
.ficha-details > summary {
  cursor: pointer;
  font-weight: 700;
  font-size: 1.05rem;
  list-style-position: outside;
}
.ficha-details[open] > summary {
  margin-bottom: 12px;
}

/* ============================================================
   Painel de Decisão (/hoje) — contrato Base painel_area (pd-)
   Tokens Evidências (bronze / ivory)
   ============================================================ */
.pd-painel {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 1180px;
  margin: 0;
  padding: 0 0 40px;
}
.pd-painel * { box-sizing: border-box; }

.pd-eyebrow {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--evid-muted);
  font-family: var(--font-body);
}
.pd-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  background: color-mix(in srgb, var(--pd-cor, var(--evid-bronze)) 14%, white);
  color: var(--pd-cor, var(--evid-bronze));
  margin-right: 8px;
  vertical-align: 2px;
}

.pd-hero {
  display: flex;
  gap: 20px;
  background: var(--evid-panel);
  border: 1px solid var(--evid-border);
  border-radius: var(--radius-panel, 10px);
  padding: 22px 24px;
  border-top: 4px solid var(--pd-cor, var(--evid-bronze));
  box-shadow: var(--shadow-panel, none);
}
.pd-hero.pd-vermelho { border-top-color: var(--evid-state-alert); }
.pd-hero.pd-amarelo  { border-top-color: var(--evid-state-warn); }
.pd-hero.pd-verde    { border-top-color: var(--evid-state-ok); }
.pd-hero-main { display: flex; gap: 16px; align-items: flex-start; width: 100%; }
.pd-hero-icone {
  width: 48px; height: 48px; flex: 0 0 48px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--pd-cor, var(--evid-bronze)) 12%, white);
  color: var(--pd-cor, var(--evid-bronze)); font-size: 1.25rem;
}
.pd-hero-titulo {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 4px 0 8px; font-size: 1.35rem; color: var(--evid-black);
  font-family: var(--font-display);
  font-weight: 700;
}
.pd-hero-score { font-size: 1.15rem; font-weight: 800; color: var(--evid-text); font-family: var(--font-body); }
.pd-hero-score small { font-size: 0.75rem; font-weight: 600; color: var(--evid-muted); }
.pd-semaforo {
  width: 14px; height: 14px; border-radius: 50%; display: inline-block; flex-shrink: 0;
}
.pd-semaforo.pd-verde    { background: var(--evid-state-ok); }
.pd-semaforo.pd-amarelo  { background: var(--evid-state-warn); }
.pd-semaforo.pd-vermelho { background: var(--evid-state-alert); }
.pd-semaforo.pd-neutro   { background: var(--evid-muted); }
.pd-hero-resumo { margin: 0 0 8px; color: var(--evid-text); font-size: 0.95rem; line-height: 1.55; }
.pd-hero-fatores { margin: 0; padding-left: 18px; color: var(--evid-muted); font-size: 0.82rem; line-height: 1.65; }

.pd-secao {
  background: var(--evid-panel);
  border: 1px solid var(--evid-border);
  border-radius: var(--radius-panel, 10px);
  padding: 18px 20px;
}
.pd-secao-head { margin-bottom: 14px; }
.pd-secao-head h2 {
  margin: 0; font-size: 1.05rem; color: var(--evid-black);
  display: flex; align-items: center; flex-wrap: wrap;
  font-family: var(--font-display);
}
.pd-secao-head h2 small {
  margin-left: 10px; font-size: 0.75rem; font-weight: 500;
  color: var(--evid-muted); font-family: var(--font-body);
}
.pd-secao-head p { margin: 6px 0 0 32px; color: var(--evid-muted); font-size: 0.82rem; }

.pd-vazio { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 8px; font-size: 0.9rem; }
.pd-vazio-ok { background: color-mix(in srgb, var(--evid-state-ok) 10%, white); color: var(--evid-state-ok); }

.pd-mudancas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.pd-mudanca {
  display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 8px;
  border: 1px solid var(--evid-beige); background: var(--evid-ivory-light);
  text-decoration: none; color: var(--evid-text); font-size: 0.875rem;
}
.pd-mudanca:hover { border-color: var(--pd-cor, var(--evid-bronze)); }
.pd-mudanca-delta { font-weight: 700; font-size: 0.8rem; white-space: nowrap; color: var(--evid-muted); }
.pd-sentido-ruim .pd-mudanca-delta { color: var(--evid-state-alert); }
.pd-sentido-bom .pd-mudanca-delta { color: var(--evid-state-ok); }
.pd-mudanca-texto { flex: 1; min-width: 0; }

.pd-decisoes { display: flex; flex-direction: column; gap: 8px; }
.pd-decisao-wrap { display: flex; align-items: stretch; gap: 8px; }
.pd-decisao-wrap .pd-decisao { flex: 1; min-width: 0; }
.pd-decisao-lido { display: flex; align-items: center; }
.pd-decisao {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 8px;
  border: 1px solid var(--evid-border); border-left: 4px solid var(--evid-state-warn);
  background: color-mix(in srgb, var(--evid-state-warn) 6%, white);
  text-decoration: none; color: inherit;
}
.pd-decisao:hover { background: var(--evid-ivory-light); }
.pd-decisao.pd-urgencia-alta {
  border-left-color: var(--evid-state-alert);
  background: color-mix(in srgb, var(--evid-state-alert) 6%, white);
}
.pd-decisao.pd-urgencia-baixa {
  border-left-color: var(--evid-muted);
  background: var(--evid-ivory-light);
}
.pd-decisao-flag {
  width: 32px; height: 32px; flex: 0 0 32px; border-radius: 8px;
  background: color-mix(in srgb, var(--evid-bronze) 14%, white);
  color: var(--evid-bronze); display: flex; align-items: center; justify-content: center;
  font-weight: 700;
}
.pd-urgencia-alta .pd-decisao-flag {
  background: color-mix(in srgb, var(--evid-state-alert) 14%, white);
  color: var(--evid-state-alert);
}
.pd-decisao-corpo { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pd-decisao-corpo strong { font-size: 0.95rem; color: var(--evid-black); }
.pd-decisao-motivo { font-size: 0.8rem; color: var(--evid-muted); }
.pd-decisao-impacto { font-weight: 700; font-size: 0.8rem; color: var(--evid-muted); white-space: nowrap; }
.pd-cta {
  display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 6px;
  background: var(--pd-cor, var(--evid-bronze)); color: #fff;
  font-size: 0.72rem; font-weight: 700; white-space: nowrap;
}

.pd-riscos { display: flex; flex-direction: column; gap: 10px; }
.pd-risco {
  border: 1px solid var(--evid-border); border-radius: 8px;
  padding: 12px 14px; background: var(--evid-ivory-light);
}
.pd-risco.pd-nivel-alto {
  background: color-mix(in srgb, var(--evid-state-alert) 6%, white);
  border-color: color-mix(in srgb, var(--evid-state-alert) 35%, white);
}
.pd-risco.pd-nivel-medio {
  background: color-mix(in srgb, var(--evid-state-warn) 6%, white);
  border-color: color-mix(in srgb, var(--evid-state-warn) 35%, white);
}
.pd-risco-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pd-risco-head strong { font-size: 0.95rem; color: var(--evid-black); flex: 1; }
.pd-risco-badge {
  font-size: 0.65rem; font-weight: 800; letter-spacing: 0.06em;
  padding: 2px 7px; border-radius: 4px; background: var(--evid-beige); color: var(--evid-muted);
}
.pd-nivel-alto .pd-risco-badge { background: color-mix(in srgb, var(--evid-state-alert) 18%, white); color: var(--evid-state-alert); }
.pd-nivel-medio .pd-risco-badge { background: color-mix(in srgb, var(--evid-state-warn) 18%, white); color: var(--evid-state-warn); }
.pd-risco-impacto { font-weight: 700; color: var(--evid-muted); font-size: 0.8rem; }
.pd-cadeia { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.pd-cadeia-elo {
  background: var(--evid-panel); border: 1px solid var(--evid-beige);
  border-radius: 999px; padding: 3px 10px; font-size: 0.75rem; color: var(--evid-muted);
}
.pd-cadeia-seta { color: var(--evid-muted); font-size: 0.7rem; }
.pd-sugestao {
  margin-top: 8px; padding: 8px 10px; border-radius: 6px;
  background: color-mix(in srgb, var(--evid-bronze) 8%, white);
  color: var(--evid-text); font-size: 0.8rem;
}
.pd-risco-link {
  display: inline-block; margin-top: 8px; font-size: 0.8rem;
  font-weight: 600; color: var(--pd-cor, var(--evid-bronze)); text-decoration: none;
}

.pd-oportunidades { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; }
.pd-oportunidade {
  display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--evid-state-ok) 30%, var(--evid-border));
  background: color-mix(in srgb, var(--evid-state-ok) 6%, white);
  text-decoration: none; color: inherit;
}
.pd-oportunidade:hover { border-color: var(--evid-state-ok); }
.pd-oportunidade-icone {
  width: 32px; height: 32px; flex: 0 0 32px; border-radius: 8px;
  background: color-mix(in srgb, var(--evid-state-ok) 16%, white);
  color: var(--evid-state-ok); display: flex; align-items: center; justify-content: center;
  font-weight: 700;
}
.pd-oportunidade-corpo { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.pd-oportunidade-corpo strong { font-size: 0.9rem; color: var(--evid-state-ok); }
.pd-oportunidade-corpo span { font-size: 0.78rem; color: var(--evid-muted); }
.pd-oportunidade-valor { font-weight: 700; color: var(--evid-state-ok); font-size: 0.8rem; white-space: nowrap; }

.pd-indicadores-details summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center;
}
.pd-indicadores-details summary::-webkit-details-marker { display: none; }
.pd-indicadores-details summary h2 {
  margin: 0; font-size: 1.05rem; color: var(--evid-black);
  font-family: var(--font-display); display: flex; align-items: center; flex-wrap: wrap;
}
.pd-indicadores-details summary h2 small {
  margin-left: 10px; font-size: 0.75rem; font-weight: 500;
  color: var(--evid-muted); font-family: var(--font-body);
}
.pd-chevron { color: var(--evid-muted); transition: transform .2s ease; }
.pd-indicadores-details[open] .pd-chevron { transform: rotate(180deg); }
.pd-indicadores {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px; margin-top: 14px;
}
.pd-indicador {
  display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 8px;
  border: 1px solid var(--evid-beige); background: var(--evid-ivory-light); text-decoration: none;
}
.pd-indicador:hover { border-color: var(--pd-cor, var(--evid-bronze)); }
.pd-indicador strong { font-size: 1.15rem; color: var(--evid-black); }
.pd-indicador span { font-size: 0.75rem; color: var(--evid-muted); }

.pd-analises { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.pd-analise {
  display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 8px;
  border: 1px solid var(--evid-border); background: var(--evid-panel);
  text-decoration: none; color: inherit;
}
.pd-analise:hover { border-color: var(--pd-cor, var(--evid-bronze)); }
.pd-analise-corpo { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.pd-analise-corpo strong { font-size: 0.9rem; color: var(--evid-black); }
.pd-analise-corpo small { font-size: 0.75rem; color: var(--evid-muted); }

.pd-historico-bars {
  display: flex; align-items: flex-end; gap: 10px; height: 140px;
  padding: 8px 4px 0;
}
.pd-bar {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: flex-end; height: 100%; gap: 4px; min-width: 0;
}
.pd-bar-fill {
  width: 100%; max-width: 36px;
  background: color-mix(in srgb, var(--pd-cor, var(--evid-bronze)) 70%, white);
  border-radius: 4px 4px 0 0;
}
.pd-bar-label { font-size: 0.65rem; color: var(--evid-muted); }
.pd-bar-val { font-size: 0.7rem; font-weight: 700; color: var(--evid-text); }

.hoje--compacta .pd-painel { gap: 12px; }
.hoje--compacta .pd-hero { padding: 14px 16px; }
.hoje--compacta .pd-secao { padding: 12px 14px; }
.hoje--compacta .pd-hero-titulo { font-size: 1.15rem; }
.hoje--compacta .pd-decisao { padding: 8px 10px; }
.hoje--compacta .pd-decisao-corpo strong { font-size: 0.875rem; }

/* Fatia 86 — cards do ofício + kanban */
.pd-oficio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.pd-oficio-card {
  background: var(--evid-ivory-light, #faf8f4);
  border: 1px solid color-mix(in srgb, var(--evid-bronze, #8b6914) 18%, transparent);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 140px;
}
.pd-oficio-card--agenda {
  grid-column: 1 / -1;
}
.pd-oficio-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.pd-oficio-card__head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--evid-black);
}
.pd-oficio-card__lead {
  margin: 2px 0 0;
  font-size: 0.78rem;
  color: var(--evid-muted);
}
.pd-oficio-card__count {
  flex-shrink: 0;
  min-width: 1.6rem;
  height: 1.6rem;
  padding: 0 6px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--pd-cor, var(--evid-bronze)) 14%, white);
  color: var(--pd-cor, var(--evid-bronze));
  font-size: 0.75rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pd-oficio-card__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.pd-oficio-card__foot {
  margin-top: auto;
  padding-top: 4px;
  border-top: 1px solid color-mix(in srgb, var(--evid-bronze) 10%, transparent);
}
.pd-oficio-card__foot a {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--pd-cor, var(--evid-bronze));
  text-decoration: none;
}
.pd-oficio-card__foot a:hover { text-decoration: underline; }

.pd-kanban {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.pd-kanban-col {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--evid-bronze) 12%, transparent);
  border-radius: 8px;
  padding: 8px;
  min-height: 80px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pd-kanban-col h4 {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--evid-muted);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.pd-kanban-col h4 span {
  font-variant-numeric: tabular-nums;
  color: var(--pd-cor, var(--evid-bronze));
}
.pd-kanban-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.pd-kanban-vazio {
  margin: 0;
  font-size: 0.78rem;
  color: var(--evid-muted);
  font-style: italic;
  padding: 6px 4px;
}
.pd-chip {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 7px;
  background: var(--evid-ivory, #f5f1ea);
  border: 1px solid transparent;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, background .15s ease;
}
.pd-chip:hover {
  border-color: var(--pd-cor, var(--evid-bronze));
  background: #fff;
}
.pd-chip strong {
  font-size: 0.82rem;
  color: var(--evid-black);
}
.pd-chip span {
  font-size: 0.8rem;
  color: var(--evid-text);
  line-height: 1.35;
}
.pd-chip small {
  font-size: 0.72rem;
  color: var(--evid-muted);
}
.pd-chip--mes {
  background: color-mix(in srgb, var(--pd-cor, var(--evid-bronze)) 8%, white);
}
.pd-sentido-ruim {
  border-left: 3px solid var(--evid-state-alert);
}
.pd-sentido-bom {
  border-left: 3px solid var(--evid-state-ok);
}

.pd-decisoes-details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.pd-decisoes-details summary::-webkit-details-marker { display: none; }
.pd-decisoes-details summary h2 {
  margin: 0;
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pd-decisoes-details summary h2 small {
  font-weight: 500;
  color: var(--evid-muted);
  font-size: 0.8rem;
}
.pd-decisoes-details[open] .pd-chevron { transform: rotate(180deg); }
.pd-secao-head-note {
  margin: 8px 0 12px;
  font-size: 0.82rem;
  color: var(--evid-muted);
}

.hoje--compacta .pd-oficio-grid { gap: 8px; }
.hoje--compacta .pd-oficio-card { padding: 10px 12px; min-height: 0; }
.hoje--compacta .pd-chip { padding: 6px 8px; }

@media (max-width: 900px) {
  .pd-kanban { grid-template-columns: 1fr; }
  .pd-oficio-card--agenda { grid-column: auto; }
}

@media (max-width: 860px) {
  .pd-decisao { flex-wrap: wrap; }
  .pd-cta { margin-left: 44px; }
  .pd-decisao-wrap { flex-wrap: wrap; }
}

/* CNPJ autofill (Clientes / prestadores) */
.cnpj-status { display: block; margin-top: 4px; min-height: 1.1em; }
.cnpj-status--load { color: var(--evid-warn, #b45309); }
.cnpj-status--ok { color: var(--evid-ok, #2a7a4b); }
.cnpj-status--err { color: var(--evid-danger, #b42318); }
.cnpj-input--load { outline: 2px solid var(--evid-warn, #b45309); }

/* Modal de formulário (ex.: novo relacionamento) */
.form-dialog {
  border: none;
  padding: 0;
  max-width: min(520px, calc(100vw - 24px));
  width: 100%;
  background: transparent;
}
.form-dialog::backdrop {
  background: rgba(26, 26, 28, 0.55);
  backdrop-filter: blur(3px);
}
.form-dialog__frame {
  background: linear-gradient(180deg, #fffcf7 0%, #f5f2eb 100%);
  border: 1px solid var(--evid-border);
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}
.form-dialog__head {
  position: relative;
  padding: 20px 48px 12px 22px;
  border-bottom: 1px solid var(--evid-beige);
}
.form-dialog__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.35rem;
  line-height: 1.25;
}
.form-dialog__lead {
  margin: 6px 0 0;
  font-size: 0.9rem;
}
.form-dialog__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 8px;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--evid-muted);
  cursor: pointer;
}
.form-dialog__close:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--evid-text);
}
.form-dialog__body {
  padding: 16px 22px 8px;
  max-height: min(70vh, 640px);
  overflow: auto;
  display: grid;
  gap: 10px;
}
.form-dialog__foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 0 12px;
  margin-top: 4px;
}
