/* =============================================================================
   TEMA ARDÓSIA — base azul-acinzentada neutra; marinho e dourado só nos destaques.
   Carregado depois de codarizzi.css.
   ============================================================================= */
:root {
    --bg:        #e6ebf1;   /* fundo da página */
    --white:     #ffffff;   /* cartões */
    --line:      #d2dae4;   /* bordas visíveis */
    --slate:     #3f4b5b;
    --muted:     #64748b;
    --texto:     #1f2a37;
    --faixa:     #dde4ec;   /* cabeçalhos de tabela, faixas */
    --campo:     #f3f6f9;   /* fundo de campos */
    --navy-soft: #e3e9f1;
    --sb-bg:     #1c2736;   /* sidebar grafite-azulado */
    --sb-texto:  #aeb9c7;
    --sb-linha:  rgba(255,255,255,.07);
    --sombra:    0 1px 2px rgba(15,23,42,.06), 0 2px 8px rgba(15,23,42,.05);
    --sidebar-w: 248px;
    --sidebar-w-min: 70px;
    --bs-border-color: #d2dae4;
    --bs-body-color: #1f2a37;
}
body { background: var(--bg); color: var(--texto); }
.cdz-bloco, .cdz-painel, .cdz-kpi, .cdz-linha, .cdz-etapas, .card { border-color: var(--line); box-shadow: var(--sombra); }
.table > thead th, .table thead.table-light th, .table thead.table-dark th { background: var(--faixa) !important; color: var(--slate) !important; }
.form-control, .form-select { background-color: var(--campo); border-color: #cbd4df; color: var(--texto); }
.form-control:focus, .form-select:focus { background-color: #fff; border-color: var(--gold); box-shadow: 0 0 0 .2rem rgba(201,168,76,.18); }
.form-control:disabled, .form-select:disabled { background-color: #e9eef3; }
.form-check-input { flex: 0 0 auto; width: 1.1em; height: 1.1em; border-color: #9aa8b8; }
.nav-tabs { border-bottom-color: var(--line); }
.cdz-etapa:hover { background: var(--navy-soft); }
.cdz-cabecalho { margin-top: 18px; }

/* ---------------------------------------------------------------- estrutura */
body.com-sidebar { display: block; }
.cdz-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-w); background: var(--sb-bg); color: var(--sb-texto);
               display: flex; flex-direction: column; z-index: 1045; transition: width .25s ease, transform .25s ease; }
.cdz-sidebar .sb-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 14px 14px 16px; border-bottom: 1px solid var(--sb-linha); }
.cdz-sidebar .sb-marca { display: flex; align-items: center; gap: 10px; text-decoration: none; min-width: 0; }
.cdz-sidebar .sb-marca img { height: 40px; width: 40px; object-fit: contain; background: #f4f6f9; border-radius: 10px; padding: 4px; }
.cdz-sidebar .sb-marca span { color: #fff; font-weight: 800; font-size: .92rem; letter-spacing: .4px; white-space: nowrap; line-height: 1.1; }
.cdz-sidebar .sb-marca span small { display: block; color: var(--gold); font-size: .62rem; letter-spacing: 2.2px; font-weight: 700; }
.sb-recolher { background: rgba(255,255,255,.06); border: 1px solid var(--sb-linha); color: var(--sb-texto); width: 32px; height: 32px;
               border-radius: 8px; display: grid; place-items: center; flex: 0 0 auto; cursor: pointer; }
.sb-recolher:hover { color: var(--gold); border-color: rgba(201,168,76,.4); }
.sb-menu { flex: 1; overflow-y: auto; padding: 10px 0 20px; }
.sb-menu::-webkit-scrollbar { width: 5px; } .sb-menu::-webkit-scrollbar-thumb { background: rgba(201,168,76,.5); border-radius: 6px; }
.sb-cat { padding: 16px 22px 6px; font-size: .64rem; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; color: var(--gold); opacity: .85; white-space: nowrap; }
.sb-item { display: flex; align-items: center; gap: 12px; margin: 2px 10px; padding: 9px 12px; border-radius: 8px; color: var(--sb-texto);
           text-decoration: none; font-size: .88rem; font-weight: 600; border-left: 3px solid transparent; white-space: nowrap; }
.sb-item i { width: 20px; text-align: center; font-size: 1rem; }
.sb-item:hover { background: rgba(255,255,255,.05); color: #fff; }
.sb-item.ativo { background: rgba(201,168,76,.14); color: var(--gold); border-left-color: var(--gold); }
.sb-item .sb-badge { margin-left: auto; background: var(--gold); color: var(--navy); font-size: .68rem; font-weight: 800; border-radius: 10px; padding: 1px 7px; }
.sb-sub { margin: 0 10px 4px 44px; border-left: 1px solid var(--sb-linha); }
.sb-sub a { display: block; padding: 5px 12px; color: var(--sb-texto); text-decoration: none; font-size: .8rem; border-radius: 6px; white-space: nowrap; }
.sb-sub a:hover { color: #fff; } .sb-sub a.ativo { color: var(--gold); font-weight: 700; }
.sb-rodape { border-top: 1px solid var(--sb-linha); padding: 12px 22px; font-size: .7rem; color: rgba(174,185,199,.6); white-space: nowrap; }

.cdz-corpo { margin-left: var(--sidebar-w); min-height: 100vh; display: flex; flex-direction: column; transition: margin-left .25s ease; }
.cdz-topo { position: sticky; top: 0; z-index: 1040; background: #f9fbfc; border-bottom: 1px solid var(--line); box-shadow: 0 1px 3px rgba(15,23,42,.05);
            display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 28px; }
.cdz-topo .tp-esq { display: flex; align-items: center; gap: 12px; min-width: 0; }
.tp-menu { display: none; background: none; border: 1px solid var(--line); border-radius: 8px; width: 38px; height: 38px; color: var(--navy); }
.tp-local { font-size: .8rem; color: var(--muted); font-weight: 600; white-space: nowrap; }
.tp-local b { color: var(--navy); display: block; font-size: .92rem; }
.tp-dir { display: flex; align-items: center; gap: 18px; }
.tp-link { color: var(--slate); font-weight: 600; font-size: .86rem; text-decoration: none; white-space: nowrap; }
.tp-link:hover { color: var(--navy); }
.tp-relogio { text-align: right; line-height: 1.1; border-left: 1px solid var(--line); padding-left: 18px; }
.tp-esq .tp-local { padding-right: 4px; }
.tp-relogio small { display: block; font-size: .68rem; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .4px; }
.tp-relogio b { font-size: 1.15rem; color: var(--gold); font-variant-numeric: tabular-nums; letter-spacing: .5px; }
.tp-usuario { display: flex; align-items: center; gap: 12px; text-decoration: none; border-left: 1px solid var(--line); padding-left: 18px; min-width: 0; }
.tp-usuario .ola { font-size: .8rem; color: var(--muted); font-weight: 600; line-height: 1.2; min-width: 0; }
.tp-usuario .ola b { color: var(--navy); font-size: .9rem; white-space: nowrap; }
.tp-usuario:hover .ola b { color: var(--gold); }
.tp-perfil { display: table; background: var(--navy); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .6px; text-transform: uppercase;
             border-radius: 4px; padding: 2px 8px; margin-top: 4px; }
.tp-foto { width: 42px; height: 42px; border-radius: 50%; border: 2px solid var(--gold); background: var(--navy); color: var(--gold);
           display: grid; place-items: center; font-weight: 800; font-size: .9rem; overflow: hidden; flex: 0 0 auto; }
.tp-foto img { width: 100%; height: 100%; object-fit: cover; }
.tp-sair { color: var(--danger); font-weight: 700; font-size: .84rem; text-decoration: none; border: 1px solid #efc9c5; border-radius: 20px; padding: 6px 14px; white-space: nowrap; }
.tp-sair:hover { background: var(--danger-soft); color: var(--danger); }
.cdz-corpo main.page-content { flex: 1 0 auto; }
.cdz-corpo .container-box { max-width: 1400px; }
.cdz-rodape { padding: 14px 28px; font-size: .74rem; color: var(--muted); border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

/* recolhida */
body.sb-recolhida .cdz-sidebar { width: var(--sidebar-w-min); }
body.sb-recolhida .cdz-corpo { margin-left: var(--sidebar-w-min); }
body.sb-recolhida .sb-marca span, body.sb-recolhida .sb-item span, body.sb-recolhida .sb-cat, body.sb-recolhida .sb-sub,
body.sb-recolhida .sb-item .sb-badge, body.sb-recolhida .sb-rodape { display: none; }
body.sb-recolhida .sb-topo { flex-direction: column; padding: 12px 8px; }
body.sb-recolhida .sb-item { justify-content: center; padding: 10px 0; }
body.sb-recolhida .sb-item i { font-size: 1.15rem; }

/* celular */
.sb-fundo { display: none; }
@media (max-width: 992px) {
    .cdz-sidebar { transform: translateX(-100%); width: var(--sidebar-w) !important; }
    body.sb-aberta .cdz-sidebar { transform: none; }
    body.sb-aberta .sb-fundo { display: block; position: fixed; inset: 0; background: rgba(10,18,30,.45); z-index: 1044; }
    .cdz-corpo, body.sb-recolhida .cdz-corpo { margin-left: 0; }
    .tp-menu { display: grid; place-items: center; }
    .sb-recolher { display: none; }
    .cdz-topo { padding: 8px 14px; }
    .tp-relogio, .tp-link, .tp-local, .tp-usuario .ola { display: none; }
    .tp-esq { gap: 8px; }
    .tp-usuario, .tp-relogio { border-left: 0; padding-left: 0; }
}

/* ------------------------------------------------ processo: resumo em faixa + gavetas */
.cdz-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 16px; }
.cdz-resumo .r { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--sombra); padding: 10px 14px; }
.cdz-resumo .r small { display: block; font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--muted); }
.cdz-resumo .r b { font-size: 1rem; color: var(--navy); }
.cdz-resumo .r .n { font-size: .74rem; color: var(--muted); }
.cdz-layout.sem-lateral { grid-template-columns: minmax(0, 1fr); }
.cdz-gaveta .offcanvas-header { background: var(--navy); color: #fff; }
.cdz-gaveta .offcanvas-header .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.cdz-gaveta .offcanvas-body { background: var(--bg); }

/* botão de escolha já marcada (ex.: Obrigatório / Opcional) — não parecer desabilitado */
.btn.cdz-escolhido:disabled { opacity: 1; background: var(--navy); border-color: var(--navy); color: #fff; }

/* cartão de boas-vindas (tela inicial) */
.cdz-bv { display: flex; align-items: center; gap: 18px; background: var(--white); border: 1px solid var(--line); border-radius: 12px;
          box-shadow: var(--sombra); padding: 18px 22px; margin-top: 18px; border-left: 4px solid var(--gold); flex-wrap: wrap; }
.cdz-bv-foto { width: 64px; height: 64px; border-radius: 50%; border: 3px solid var(--gold); background: var(--navy); color: var(--gold);
               display: grid; place-items: center; font-weight: 800; font-size: 1.25rem; overflow: hidden; flex: 0 0 auto; }
.cdz-bv-foto img { width: 100%; height: 100%; object-fit: cover; }
.cdz-bv-txt { flex: 1 1 220px; min-width: 0; }
.cdz-bv-ola { font-size: 1.25rem; font-weight: 800; color: var(--navy); text-transform: uppercase; letter-spacing: .3px; }
.cdz-bv-local { display: block; font-size: .8rem; color: var(--muted); font-weight: 600; margin-top: 4px; }
.cdz-bv-aviso { display: flex; align-items: center; gap: 12px; background: #f7f0dc; border: 1px solid #e7d49e; color: #7a5b0e;
                border-radius: 10px; padding: 10px 14px; font-weight: 700; font-size: .88rem; }
.cdz-bv-aviso i { color: var(--gold); }

.tp-usuario.sem-local { border-left: 0; padding-left: 0; }
