/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Cores principais */
:root {
    --laranja: #e67e22;
    --laranja-escuro: #b45309;
    --marrom: #8B4513;
    --marrom-claro: #a16207;
    --branco: #ffffff;
    --preto: #000000;
    --vermelho: #c0392b;
    --cinza-claro: #f5f5f5;
    --cinza-medio: #cfc7bd;
    --cinza-escuro: #6d655d;
    --verde: #2e7d32;
    --bege-claro: #f7f0e8;
    --BurlyWood: #FFF8DC;
    --content-max: 1200px;
    --content-max-wide: 1320px;
    --content-max-ultra: 1440px;
}


/* Fundo com "clima de madeira" usando gradiente */
html,
body {
    min-height: 100%;
}

body {
    min-height: 100vh;
    min-height: 100dvh;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--BurlyWood);
    display: flex;
    flex-direction: column;
    overflow-x: clip;
}

img,
video,
iframe {
    max-width: 100%;
    height: auto;
}

/* HERO */
.hero {
    position: relative;
    height: 100vh;
    min-height: 320px;
    background: url('/img/menufundo.png') center/cover no-repeat;
    display: block;
}

.hero--sobre {
    height: 45vh;
    min-height: 260px;
    background-image: url('/img/sobre.jpg');
    background-position: center 30%;
}

.hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.35) 35%,
        rgba(0, 0, 0, 0) 70%
    );
    pointer-events: none;
}

.hero__overlay--fade {
    opacity: 0;
    animation: heroOverlayFade 1.3s ease forwards;
}

.hero__arrow {
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--preto);
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
    animation: arrowBlink 1.1s ease-in-out infinite;
    pointer-events: none;
    user-select: none;
}

.hero__arrow--float {
    animation:
        arrowBlink 1.1s ease-in-out infinite,
        arrowFloat 2.8s ease-in-out infinite;
}

@keyframes arrowBlink {
    0%,
    100% {
        opacity: 0.2;
        color: var(--preto);
        transform: translateX(-50%) translateY(0);
    }
    50% {
        opacity: 1;
        color: var(--marrom);
        transform: translateX(-50%) translateY(6px);
    }
}

@keyframes arrowFloat {
    0%,
    100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(10px);
    }
}

@keyframes heroOverlayFade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


        /* MENU */


/* Animação de entrada do menu */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
}

#menu {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: transparent;
    color: var(--branco);
    width: min(var(--content-max-ultra), calc(100% - 2rem));
    padding: 16px clamp(16px, 2.2vw, 36px);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: nowrap;
    border: none;
    box-shadow: none;
    border-radius: 12px;
    animation: none;
    opacity: 1;
    transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

#menu.menu-scrolled {
    background-color: #8B4513;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
}

.menu-colored #menu {
    background-color: #8B4513;
}

@keyframes fadeSlideDown {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Camada de cor com leve animação de brilho */
#menu::before {
    display: none;
}

@keyframes backgroundPulse {
    from { opacity: 0.4; }
    to { opacity: 0.7; }
}

#menu > * {
    position: relative;
    z-index: 2;
}

.brand {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 0;
}

.brand-name {
    color: var(--branco);
    font-weight: 800;
    font-size: 1.4em;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-shadow: 0 0 6px rgba(255, 255, 255, 0.4);
    opacity: 1;
    animation: none;
}

@keyframes brandFadeIn {
    from {
        opacity: 0;
        transform: translateX(-12px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes brandGlow {
    0% {
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
        transform: translateY(0);
    }
    50% {
        text-shadow: 0 0 16px rgba(230, 126, 34, 0.9);
        transform: translateY(-2px);
    }
    100% {
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
        transform: translateY(0);
    }
}

#menu img {
    width: 80px;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

#menu img:hover {
    transform: scale(1.08) rotate(-2deg);
}

/* NAV links */
#menu nav {
    width: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

#menu nav ul {
    list-style: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    padding: 0;
    gap: 24px;
    flex-wrap: wrap;
}

.menu-links .saudacao {
    font-weight: 800;
    font-size: 1.05em;
}

.menu-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.menu-logout {
    display: inline-flex;
}

.menu-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.menu-dropdown__trigger {
    min-width: 140px;
}

#menu .menu-action-button {
    background: transparent;
    color: var(--branco);
    border: 2px solid rgba(255, 255, 255, 0.7);
    border-radius: 999px;
    padding: 8px 18px;
    font-weight: 700;
    line-height: 1.1;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
    font-size: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

#menu .menu-action-button:hover,
#menu .menu-action-button:focus-visible {
    background: var(--laranja);
    border-color: var(--laranja);
    color: var(--branco);
    transform: translateY(-1px);
}

.menu-dropdown__panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 220px;
    background: rgba(18, 18, 18, 0.95);
    border-radius: 12px;
    padding: 12px;
    display: grid;
    gap: 10px;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 20;
}

.menu-dropdown:focus-within .menu-dropdown__panel,
.menu-dropdown:hover .menu-dropdown__panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.menu-dropdown__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-radius: 10px;
    background: var(--laranja);
    color: var(--branco);
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease;
    text-align: center;
}

.menu-dropdown__item:hover {
    background: #d35400;
    transform: translateY(-1px);
}

#menu nav ul li a {
    color: var(--branco);
    text-decoration: none;
    font-weight: 800;
    font-size: 1.1em;
    margin: 0;
    position: relative;
    transition: color 0.3s ease;
}

/* underline animado */
#menu nav ul li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0%;
    height: 3px;
    background: var(--laranja);
    transition: width 0.3s ease;
}

#menu nav ul li a:hover {
    color: var(--laranja);
}

#menu nav ul li a:hover::after {
    width: 100%;
}

/* BOTÃO LOGIN */
.btn-login {
    background: var(--laranja);
    padding: 8px 14px;
    border-radius: 5px;
    color: var(--branco) !important;
    font-weight: bold;
    transition: background 0.3s ease, transform 0.3s ease;
}

.btn-login:hover {
    background: #d35400;
    transform: scale(1.05);
    animation: pulse 0.6s ease-in-out;
}

/* Animação de pulso no botão */
@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(211, 84, 0, 0.7); }
    100% { box-shadow: 0 0 0 15px rgba(211, 84, 0, 0); }
}





    /* RODAPE */




footer {
    background: linear-gradient(135deg, var(--preto));
    color: #f1f1f1;
    text-align: center;
    padding: 25px 15px;
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    margin-top: auto;
    width: 100%;
    overflow: hidden;
}

/* Texto */
footer:not(.site-footer) p {
    margin: 0;
    letter-spacing: 1px;
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

footer:not(.site-footer) p:hover {
    opacity: 1;
    text-shadow: 0 0 8px rgba(255, 152, 0, 0.8);
}

.site-footer {
    text-align: left;
    padding: 40px 20px 24px;
    background: linear-gradient(rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.72)),
                url('/img/madeira.png') center/cover no-repeat;
}

.site-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 28px;
    align-items: start;
}

.site-footer__column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.site-footer__brand {
    gap: 16px;
}

.site-footer__logo {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--branco);
}

.site-footer__tagline {
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(241, 241, 241, 0.85);
}

.site-footer__title {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--branco);
}

.site-footer__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
    margin: 0;
}

.site-footer__contact {
    font-style: normal;
}

.site-footer__list a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, text-shadow 0.2s ease;
}

.site-footer__list a:hover,
.site-footer__list a:focus {
    color: var(--laranja);
    text-shadow: 0 0 6px rgba(230, 126, 34, 0.4);
}

.site-footer__bottom {
    max-width: 1200px;
    margin: 24px auto 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    text-align: center;
    font-size: 0.9rem;
}

.site-footer__bottom p {
    letter-spacing: 0.04em;
}

@media (max-width: 720px) {
    .site-footer {
        padding: 32px 20px 20px;
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
    }

    .site-footer__bottom {
        text-align: left;
    }
}

/* Animação da linha brilhante */
@keyframes shine {
  0% {
    background-position: 200% center;
  }
  100% {
    background-position: -200% center;
  }
}





        /* INDEX */




/* ===========================
   SEÇÕES GERAIS
   =========================== */
main {
    padding-top: 6rem;
    flex: 1;
}

/* Na index, quando existe hero antes do main, não é necessário espaçamento extra */
.hero + main {
    padding-top: 0;
}

main section {
    scroll-margin-top: 140px;
}

/* TAG pequena em cima do título (Portfólio / Depoimentos) */
.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    background: rgba(249, 115, 22, 0.12);
    color: var(--laranja-escuro);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
}

.section-tag--pulse {
    animation: tagPulse 2.6s ease-in-out infinite;
}

/* ===========================
   SEÇÃO DE PROJETOS
   =========================== */
.projetos {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3.5rem 1.5rem;
    text-align: center;
}

.projetos--animated .projetos-header,
.feedbacks--animated .feedbacks-header {
    opacity: 0;
    transform: translateY(16px);
    animation: sectionFadeUp 0.9s ease forwards;
}

.projetos-header {
    max-width: 720px;
    margin: 0 auto 2.5rem;
}

/* Título da seção com animação de entrada */
.projetos h2 {
    font-size: clamp(2rem, 3vw, 2.7rem);
    color: var(--marrom);
    margin: 1rem 0 0.5rem;
    position: relative;
    display: inline-block;

    opacity: 0;
    transform: translateY(12px);
    animation: projetosTitleIn 0.7s ease forwards;
}

/* Linha decorativa sob o título com animação de “desenho” */
.projetos h2::after {
    content: "";
    display: block;
    width: 70%;
    height: 3px;
    background: linear-gradient(90deg, var(--laranja), var(--marrom-claro));
    margin: 0.6rem auto 0;
    border-radius: 999px;

    transform-origin: center;
    transform: scaleX(0);
    opacity: 0;
    animation: projetosTitleLine 0.8s ease forwards;
    animation-delay: 0.15s;
}

/* Subtítulo com animação suave */
.projetos-subtitle {
    font-size: 0.98rem;
    color: #666;
    margin-top: 0.75rem;
    line-height: 1.6;

    opacity: 0;
    transform: translateY(10px);
    animation: projetosSubtitleIn 0.7s ease forwards;
    animation-delay: 0.3s;
}

/* Filtros visuais (chips) */
.projetos-filtros {
    margin-top: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.7rem;
}

.chip {
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 999px;
    padding: 0.45rem 1.1rem;
    background: rgba(255, 255, 255, 0.8);
    font-size: 0.85rem;
    cursor: pointer;
    transition:
        background 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.chip--ativo,
.chip:hover {
    background: var(--laranja);
    color: var(--branco);
    border-color: transparent;
    transform: translateY(-1px);
}

/* ===========================
   GRID DE CARDS
   =========================== */
.cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    padding: 1.5rem 0;
}

/* ===========================
   CARD INDIVIDUAL
   =========================== */
.card {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.15);
    cursor: pointer;
    position: relative;
    border: 1px solid rgba(148, 120, 92, 0.15);

    will-change: transform, box-shadow;
    transform-origin: center;

    /* animação de entrada padrão dos cards */
    opacity: 0;
    transform: translateY(24px);
    animation: cardFloatIn 0.7s ease forwards;
}

/* Delays sutis (efeito stagger nos primeiros cards) */
.card:nth-child(2) { animation-delay: 0.08s; }
.card:nth-child(3) { animation-delay: 0.16s; }
.card:nth-child(4) { animation-delay: 0.24s; }
.card:nth-child(5) { animation-delay: 0.32s; }
.card:nth-child(6) { animation-delay: 0.40s; }

/* Borda/elevação no hover */
.card:hover {
    transform: translateY(-12px) scale(1.01);
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.23);
}

/* Borda laranja sutil no hover */
.card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    border: 2px solid transparent;
    transition: border-color 0.3s ease;
    pointer-events: none;
}

.card:hover::before {
    border-color: rgba(249, 115, 22, 0.7);
}

/* Brilho diagonal suave passando pelo card no hover */
.card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.65) 40%,
        rgba(255, 255, 255, 0) 80%
    );
    transform: translateX(-120%);
    opacity: 0;
    pointer-events: none;
}

.card:hover::after {
    opacity: 1;
    animation: cardShine 0.9s ease forwards;
}

/* Badge de categoria (Planejado, Rústico, etc.) */
.card-badge {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
}

.card-badge span {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: rgba(0, 0, 0, 0.55);
    color: #fef3c7;
    font-size: 0.75rem;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    backdrop-filter: blur(6px);
}

/* ===========================
   IMAGEM DO CARD
   =========================== */
.card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

/* Zoom suave na imagem */
.card:hover img {
    transform: scale(1.06);
}

/* ===========================
   CONTEÚDO DO CARD
   =========================== */
.card-text {
    padding: 1.6rem 1.5rem 1.7rem;
    text-align: left;
    background: linear-gradient(180deg, var(--branco) 0%, #fff9f3 100%);
}

.card-text h3 {
    font-size: 1.25rem;
    color: var(--marrom);
    margin-bottom: 0.5rem;
}

.card-text p {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 0.9rem;
}

/* Lista de detalhes do projeto */
.card-details {
    list-style: none;
    padding: 0;
    margin: 0 0 1.2rem;
    font-size: 0.9rem;
    color: #555;
}

.card-details li + li {
    margin-top: 0.25rem;
}

/* Botão de ação */
.card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    background: var(--laranja);
    color: var(--branco);
    text-decoration: none;
    padding: 0.6rem 1.4rem;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border: none;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.card-cta::after {
    content: "↗";
    font-size: 0.9rem;
}

.card-cta:hover {
    background: var(--marrom-claro);
    box-shadow: 0 10px 25px rgba(180, 83, 9, 0.45);
    transform: translateY(-2px);
}


/* ===========================
   SEÇÃO TRANSPARÊNCIA
   =========================== */
.transparencia-section {
    width: 100%;
    padding: 4.5rem 0;
    background: #96623e;
}

.transparencia-container {
    width: min(1200px, 100% - 3rem);
    margin: 0 auto;
}

.transparencia-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(300px, 1fr);
    align-items: center;
    gap: clamp(2rem, 4vw, 4rem);
}

.transparencia-video {
    width: 100%;
}

.transparencia-video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 3px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.28);
    background: #000;
}

.transparencia-video-wrapper iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.transparencia-content {
    color: var(--branco);
    text-align: center;
}

.transparencia-title {
    font-size: clamp(2.1rem, 4.6vw, 4rem);
    line-height: 1.15;
    font-weight: 800;
    margin-bottom: 1.6rem;
}

.transparencia-text {
    font-size: clamp(1.08rem, 1.8vw, 1.95rem);
    line-height: 1.5;
    max-width: 24ch;
    margin: 0 auto;
}

/* ===========================
   SEÇÃO FEEDBACKS
   =========================== */
.feedbacks {
    padding: 4rem clamp(1.2rem, 3.5vw, 2.25rem) 4.5rem;
    background:
        radial-gradient(circle at top left, rgba(249, 115, 22, 0.16), transparent 55%),
        radial-gradient(circle at bottom right, rgba(148, 96, 63, 0.18), transparent 55%),
        var(--bege-claro);
    position: relative;
    overflow: hidden;
    text-align: center;
}

.feedbacks-header {
    max-width: 680px;
    margin: 0 auto 2.5rem;
    position: relative;
    z-index: 1;
}

.feedbacks h2 {
    font-size: clamp(2rem, 3vw, 2.7rem);
    color: var(--marrom);
    margin: 1rem 0 0.6rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.feedbacks h2::after {
    content: "";
    display: block;
    width: 90px;
    height: 3px;
    margin: 0.9rem auto 0;
    background: linear-gradient(90deg, var(--laranja), var(--laranja-escuro));
    border-radius: 999px;
    animation: slideIn 1s ease forwards;
}

.feedbacks-subtitle {
    font-size: 0.97rem;
    color: #5b5147;
    line-height: 1.7;
}

/* Lista de feedbacks */
.feedback-list {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    max-width: var(--content-max);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.feedbacks--animated .feedback-list {
    opacity: 0;
    transform: translateY(20px);
    animation: sectionFadeUp 0.9s ease forwards;
    animation-delay: 0.2s;
}

/* Card de feedback */
.feedback {
    background: rgba(255, 255, 255, 0.96);
    color: var(--marrom);
    padding: 1.5rem 1.4rem;
    border-radius: 18px;
    width: min(100%, 360px);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeUp 0.8s ease forwards;
    border: 1px solid rgba(148, 120, 92, 0.18);
}

.feedback:nth-child(2) { animation-delay: 0.15s; }
.feedback:nth-child(3) { animation-delay: 0.3s; }

.feedback:hover {
    transform: translateY(-10px) rotate(-0.7deg);
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.28);
}

/* Topo do feedback (avatar + nome + estrelas) */
.feedback-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.avatar {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--laranja), var(--laranja-escuro));
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--branco);
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
}

.feedback-info h3 {
    margin: 0;
    font-size: 0.98rem;
    color: var(--marrom);
}

.stars {
    font-size: 0.8rem;
    color: #f59e0b;
    margin-top: 0.15rem;
}

.feedback-text {
    margin: 0.3rem 0 0;
    font-size: 0.95rem;
    line-height: 1.6;
    font-style: italic;
    color: #4b463f;
    position: relative;
}

.feedback-text::before {
    content: "“";
    position: absolute;
    left: -10px;
    top: -6px;
    font-size: 1.8rem;
    color: rgba(180, 83, 9, 0.25);
}

/* ===========================
   ANIMAÇÕES
   =========================== */

/* Entrada dos cards de projetos */
@keyframes cardFloatIn {
    from {
        opacity: 0;
        transform: translateY(24px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Brilho no hover do card */
@keyframes cardShine {
    from {
        transform: translateX(-120%);
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    to {
        transform: translateX(120%);
        opacity: 0;
    }
}

/* Entrada dos feedbacks */
@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Linha de feedbacks */
@keyframes slideIn {
    from {
        width: 0;
        opacity: 0;
    }
    to {
        width: 90px;
        opacity: 1;
    }
}

/* Título da seção de projetos */
@keyframes projetosTitleIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Linha decorativa do título de projetos */
@keyframes projetosTitleLine {
    from {
        transform: scaleX(0);
        opacity: 0;
    }
    to {
        transform: scaleX(1);
        opacity: 1;
    }
}

/* Subtítulo da seção de projetos */
@keyframes projetosSubtitleIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes sectionFadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes tagPulse {
    0%,
    100% {
        box-shadow: 0 0 0 rgba(230, 126, 34, 0);
        transform: translateY(0);
    }
    50% {
        box-shadow: 0 0 12px rgba(230, 126, 34, 0.35);
        transform: translateY(-2px);
    }
}

/* ===========================
   RESPONSIVIDADE
   =========================== */
@media (max-width: 768px) {
    .hero {
        height: 240px;
    }

    #menu {
        padding: 14px 20px;
        gap: 16px;
    }

    .brand-name {
        font-size: 1.1em;
    }

    #menu img {
        width: 56px;
    }

    #menu nav ul {
        flex-wrap: wrap;
        gap: 12px;
    }

    .projetos {
        padding: 2.5rem 1.25rem;
    }

    .card img {
        height: 210px;
    }

    .feedbacks {
        padding: 3.2rem 1.25rem 3.5rem;
    }

    .feedback {
        width: 100%;
        max-width: 360px;
    }

    .transparencia-section {
        padding: 3.2rem 0;
    }

    .transparencia-container {
        width: min(1200px, 100% - 2.5rem);
    }

    .transparencia-grid {
        grid-template-columns: 1fr;
        gap: 1.8rem;
    }

    .transparencia-content {
        text-align: center;
    }

    .transparencia-title {
        margin-bottom: 1rem;
    }

    .transparencia-text {
        max-width: 100%;
        font-size: 1.08rem;
    }
}

/* ===========================
   PREFERE MENOS MOVIMENTO
   =========================== */
@media (prefers-reduced-motion: reduce) {
    .card,
    .feedback,
    .projetos h2,
    .projetos-subtitle,
    .feedbacks--animated .feedback-list,
    .projetos--animated .projetos-header,
    .feedbacks--animated .feedbacks-header,
    .section-tag--pulse,
    .hero__overlay--fade,
    .hero__arrow--float {
        animation: none !important;
        transform: none !important;
    }

    .card img,
    .card-cta,
    .chip {
        transition: none !important;
    }

    .hero__overlay--fade,
    .projetos--animated .projetos-header,
    .feedbacks--animated .feedbacks-header,
    .feedbacks--animated .feedback-list {
        opacity: 1 !important;
    }
}

/* Painel administrativo - inicioAdm.php */
.admin-dashboard {
    --admin-sidebar-width: 238px;
    --admin-bg: #f5f1eb;
    --admin-card: #fff;
    --admin-ink: #29241f;
    --admin-muted: #756b62;
    --admin-line: #e7dfd6;
    --admin-primary: var(--marrom);
    display: block;
    min-height: 100vh;
    background: var(--admin-bg);
    color: var(--admin-ink);
}

.admin-dashboard a:focus-visible,
.admin-dashboard button:focus-visible,
.admin-dashboard input:focus-visible,
.admin-dashboard [tabindex]:focus-visible {
    outline: 3px solid #e8a15b;
    outline-offset: 2px;
}

.admin-svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.admin-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    width: var(--admin-sidebar-width);
    overflow-y: auto;
    color: #fdfaf7;
    background: linear-gradient(180deg, #412719, #6f3d20 60%, #392318);
    box-shadow: 8px 0 28px rgba(51, 31, 19, .14);
}

.admin-sidebar__brand { display: flex; align-items: center; gap: 11px; min-height: 82px; padding: 15px 20px; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.12); }
.admin-sidebar__brand img { width: 47px; height: 47px; object-fit: contain; border-radius: 50%; background: #fff; }
.admin-sidebar__brand span { font-size: .83rem; line-height: 1.12; letter-spacing: .04em; }
.admin-sidebar__brand strong { font-size: 1.06rem; }
.admin-sidebar__nav { display: grid; gap: 2px; padding: 13px 10px 25px; }
.admin-sidebar__item { position: relative; display: flex; align-items: center; gap: 12px; min-height: 43px; padding: 9px 13px; border-radius: 8px; color: #f2e9e1; font-size: .88rem; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.admin-sidebar__item svg { width: 19px; height: 19px; flex: none; fill: currentColor; opacity: .78; }
.admin-sidebar__item:hover { color: #fff; background: rgba(255,255,255,.1); transform: translateX(2px); }
.admin-sidebar__item.is-active { color: #402515; background: #fff6eb; font-weight: 700; box-shadow: 0 5px 14px rgba(0,0,0,.12); }
.admin-sidebar__item.is-active::before { content: ''; position: absolute; left: -10px; top: 9px; bottom: 9px; width: 4px; border-radius: 0 4px 4px 0; background: #e78a35; }
.admin-sidebar__item.is-disabled { opacity: .58; cursor: not-allowed; }
.admin-sidebar__badge{display:inline-grid;min-width:21px;height:21px;margin-left:auto;padding:0 6px;border-radius:999px;color:#fff;background:#c9362b;font-size:.68rem;font-weight:850;line-height:1;place-items:center;box-shadow:0 2px 7px rgba(75,10,5,.3)}
.admin-shell { min-height: 100vh; margin-left: var(--admin-sidebar-width); }
.admin-header { position: sticky; top: 0; z-index: 30; min-height: 82px; display: flex; align-items: center; gap: 18px; padding: 12px clamp(18px, 3vw, 42px); background: rgba(255,255,255,.94); border-bottom: 1px solid var(--admin-line); box-shadow: 0 4px 16px rgba(56,38,24,.05); backdrop-filter: blur(10px); }
.admin-header h1 { margin: 0; color: var(--admin-ink); font-size: clamp(1.2rem, 2vw, 1.55rem); }
.admin-header__eyebrow { display: block; color: var(--admin-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .13em; }
.admin-icon-button { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--admin-line); border-radius: 9px; color: var(--admin-primary); background: #fff; cursor: pointer; }
.admin-icon-button svg, .admin-search svg { width: 21px; height: 21px; fill: currentColor; }
.admin-search { display: flex; align-items: center; gap: 9px; width: min(320px, 28vw); margin-left: auto; padding: 9px 13px; color: var(--admin-muted); background: #f7f4f1; border: 1px solid var(--admin-line); border-radius: 9px; }
.admin-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: var(--admin-ink); background: transparent; font: inherit; }
.admin-user { display: flex; align-items: center; gap: 9px; min-width: 150px; }
.admin-user__avatar { display: grid; place-items: center; width: 39px; height: 39px; flex: none; border-radius: 50%; color: #fff; background: var(--admin-primary); font-weight: 800; }
.admin-user small, .admin-user strong { display: block; max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-user small { color: var(--admin-muted); font-size: .68rem; }
.admin-user strong { font-size: .82rem; }
.admin-logout button, .admin-panel__link { padding: 8px 13px; border: 1px solid #d6c8bc; border-radius: 7px; color: var(--admin-primary); background: #fff; font: inherit; font-size: .78rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.admin-main { padding: clamp(20px, 3vw, 38px); }
.admin-grid { display: grid; grid-template-columns: minmax(280px, .94fr) minmax(300px, 1fr) minmax(310px, 1fr); align-items: start; gap: clamp(14px, 1.7vw, 25px); max-width: 1700px; margin: 0 auto; }
.admin-panel { min-width: 0; height: calc(100vh - 138px); min-height: 610px; padding: 20px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 13px; background: var(--admin-card); box-shadow: 0 10px 28px rgba(61,42,28,.07); }
.admin-panel__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.admin-panel__header h2 { font-size: 1.35rem; }
.admin-panel__kicker { color: #a26c43; font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.admin-panel__link.is-disabled { opacity: .5; pointer-events: none; }
.admin-calendar-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.admin-calendar-nav a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 7px; color: var(--admin-primary); background: #f6eee7; font-size: 1.5rem; text-decoration: none; }
.admin-calendar-nav strong { font-size: .9rem; text-transform: capitalize; }
.admin-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.admin-calendar__weekday { padding: 5px 0; color: var(--admin-muted); font-size: .62rem; font-weight: 700; text-align: center; text-transform: uppercase; }
.admin-calendar__day { min-width: 0; min-height: 57px; padding: 5px; border: 1px solid #eee8e2; border-radius: 6px; background: #fff; font-size: .72rem; }
.admin-calendar__day > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; }
.admin-calendar__day small { display: block; margin-top: 3px; overflow: hidden; color: #7c4b26; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-calendar__day.has-events { border-color: #e8be91; background: #fffaf3; }
.admin-calendar__day.is-today > span { color: #fff; background: var(--admin-primary); font-weight: 800; }
.admin-calendar__day.is-empty { border-color: transparent; background: transparent; }
.admin-stock-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.admin-stock-summary > div { padding: 12px; border-radius: 9px; background: #f6f2ee; }
.admin-stock-summary strong, .admin-stock-summary span { display: block; }
.admin-stock-summary strong { font-size: 1.3rem; }
.admin-stock-summary span { color: var(--admin-muted); font-size: .7rem; }
.admin-stock-summary .is-low { color: #9b3b30; background: #fff0ed; }
.admin-scroll-list { max-height: calc(100% - 126px); overflow-y: auto; padding-right: 5px; scrollbar-width: thin; scrollbar-color: #c7b4a4 transparent; }
.admin-stock-item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 4px; border-bottom: 1px solid var(--admin-line); }
.admin-stock-item img, .admin-stock-item__placeholder { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; }
.admin-stock-item__placeholder { display: grid; place-items: center; color: #9a7a61; background: #eee5dc; font-size: 1.4rem; }
.admin-stock-item h3, .admin-project-item h3 { margin: 2px 0; overflow: hidden; font-size: .83rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-stock-item small, .admin-stock-item span, .admin-project-item small { display: block; overflow: hidden; color: var(--admin-muted); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-stock-item b { padding: 4px 6px; border-radius: 5px; color: #9b3b30; background: #fff0ed; font-size: .61rem; }
.admin-project-list { max-height: calc(100% - 58px); }
.admin-project-item { display: grid; grid-template-columns: 46px minmax(0, 1fr) 20px; align-items: center; gap: 10px; padding: 13px 2px; border-bottom: 1px solid var(--admin-line); }
.admin-project-item__date { padding: 7px 3px; border-radius: 7px; text-align: center; background: #f4eee8; }
.admin-project-item__date strong, .admin-project-item__date span { display: block; }
.admin-project-item__date strong { font-size: 1rem; }
.admin-project-item__date span { color: var(--admin-muted); font-size: .56rem; }
.admin-project-item__body { min-width: 0; }
.admin-project-item > a { color: var(--admin-primary); font-size: 1.5rem; text-decoration: none; }
.admin-status { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; padding: 3px 6px; border-radius: 999px; color: #5f574f; background: #eeeae6; font-size: .61rem; font-weight: 700; }
.admin-status i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.admin-status--success, .admin-status--approved { color: #297044; background: #e6f4eb; }
.admin-status--danger { color: #a23b34; background: #fde9e7; }
.admin-status--warning { color: #946016; background: #fff2d8; }
.admin-status--production, .admin-status--purple { color: #694c92; background: #f0eafa; }
.admin-status--info { color: #276c84; background: #e5f3f7; }
.admin-project-item__value { float: right; margin-top: 6px; color: #3e342d; font-size: .66rem; font-weight: 700; }
.admin-empty { margin-top: 20px; padding: 22px 12px; border: 1px dashed #d8cbbf; border-radius: 8px; color: var(--admin-muted); background: #faf8f5; font-size: .8rem; text-align: center; }
.admin-empty.is-error { color: #8f3932; border-color: #e7b9b5; background: #fff4f3; }
.admin-sidebar-overlay { display: none; }

@media (max-width: 1320px) {
    .admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-panel { height: 660px; min-height: 0; }
    .admin-projetos { grid-column: 1 / -1; height: 560px; }
}

@media (max-width: 1100px) {
    .admin-shell { margin-left: 0; }
    .admin-sidebar { transform: translateX(-105%); transition: transform .25s ease; }
    .admin-sidebar-open .admin-sidebar { transform: translateX(0); }
    .admin-icon-button { display: block; flex: none; }
    .admin-sidebar-overlay { position: fixed; inset: 0; z-index: 35; width: 100%; height: 100%; border: 0; background: rgba(29,20,14,.48); }
    .admin-sidebar-open .admin-sidebar-overlay { display: block; }
}

@media (max-width: 720px) {
    .admin-header { gap: 10px; min-height: 70px; padding: 10px 14px; }
    .admin-header__eyebrow, .admin-search, .admin-user span:not(.admin-user__avatar) { display: none; }
    .admin-header h1 { font-size: 1.06rem; }
    .admin-user { min-width: 39px; margin-left: auto; }
    .admin-logout button { padding: 8px 10px; }
    .admin-main { padding: 14px; }
    .admin-grid { grid-template-columns: minmax(0, 1fr); }
    .admin-panel, .admin-projetos { grid-column: auto; height: auto; min-height: 520px; padding: 16px; }
    .admin-calendar__day { min-height: 49px; padding: 3px; }
    .admin-calendar__day small { font-size: 0; }
    .admin-calendar__day small::after { content: '•'; color: #b6622c; font-size: .9rem; }
}




    /* LOGIN */




/* Container do Login */
.page-wrapper {
    min-height: 100vh;              /* ocupa altura da tela */
    display: flex;
    justify-content: center;    /* centraliza horizontal */
    align-items: center;        /* centraliza vertical */
    padding-top: 120px;
    padding-bottom: 40px;
    box-sizing: border-box;
}

.login-container {
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    width: min(420px, calc(100vw - 2.5rem));
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    text-align: center;
    animation: fadeIn 0.8s ease-in-out;
}

.login-container h2 {
    margin-bottom: 20px;
    color: #4e342e;
}

.login-container .erro {
    color: var(--vermelho);
}

/* Inputs */
.form-group {
    text-align: left;
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.form-group input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 6px;
    outline: none;
    transition: border 0.3s;
}

.form-group input:focus {
    border-color: #e67e22;
}

/* Formulários - utilitários */
.form-animado--delay-1200 {
    animation-delay: 1.2s;
}

/* Botão */
button {
    width: 100%;
    padding: 12px;
    background: #e67e22;
    border: none;
    color: white;
    font-size: 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s;
}

button:hover {
    background: #d35400;
}

/* Erro */
.erro {
    color: var(--preto);
    margin-bottom: 10px;
    font-weight: bold;
}

/* Animação */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-30px); }
    to { opacity: 1; transform: translateY(0); }
}




        /* PAGINA SOBRE */

:root {
    --primary: #8b4a2b;
    --primary2: #d58b55;
    --bg: #f7f4f1;
    --surface: #ffffff;
    --text: #1d1b17;
    --muted: #6b5e55;
    --border: rgba(29, 27, 23, 0.1);
    --radius: 18px;
    --shadow: 0 20px 45px rgba(17, 24, 39, 0.12);
}

.about__page {
    background: var(--bg);
    color: var(--text);
    padding-top: 0;
    padding-bottom: clamp(60px, 10vw, 100px);
    font-family: "Inter", "Segoe UI", sans-serif;
}

.about__banner {
    padding-top: 0;
    margin-top: 0;
}

.about__banner img {
    width: 100%;
    height: clamp(220px, 30vw, 360px);
    display: block;
    object-fit: cover;
    box-shadow: var(--shadow);
}

.about__container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
}

.about__hero {
    padding: clamp(40px, 8vw, 80px) 0 clamp(30px, 6vw, 60px);
}

.about__hero-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(24px, 5vw, 60px);
    align-items: center;
}

.about__hero-copy h1 {
    font-size: clamp(2.6rem, 5vw, 3.8rem);
    line-height: 1.05;
    margin-bottom: clamp(16px, 2vw, 24px);
}

.about__lead {
    font-size: clamp(1rem, 2.2vw, 1.3rem);
    line-height: 1.7;
    color: var(--muted);
    margin-bottom: clamp(20px, 3vw, 32px);
}

.about__breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.95rem;
    color: var(--muted);
    margin-bottom: clamp(16px, 2vw, 20px);
}

.about__breadcrumb a {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

.about__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.about__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.about__btn--primary {
    background: var(--primary);
    color: var(--surface);
    box-shadow: 0 12px 28px rgba(139, 74, 43, 0.28);
}

.about__btn--ghost {
    border-color: var(--border);
    color: var(--text);
    background: transparent;
}

.about__btn:hover,
.about__btn:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(29, 27, 23, 0.12);
    outline: none;
}

.about__hero-media img,
.about__culture-media img {
    width: 100%;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    object-fit: cover;
    min-height: clamp(260px, 40vw, 420px);
}

.about__story {
    padding: clamp(20px, 5vw, 40px) 0;
}

.about__story-grid,
.about__culture-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: clamp(24px, 5vw, 60px);
    align-items: center;
}

.about__story-copy h2,
.about__section-heading h2,
.about__culture-copy h2,
.about__cta-card h2 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    margin-bottom: 16px;
}

.about__story-copy p,
.about__section-heading p,
.about__culture-copy p,
.about__cta-card p {
    color: var(--muted);
    line-height: 1.7;
    font-size: clamp(0.98rem, 2vw, 1.1rem);
}

.about__story-mosaic {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}

.about__story-mosaic img {
    width: 100%;
    border-radius: calc(var(--radius) - 6px);
    box-shadow: var(--shadow);
    object-fit: cover;
    min-height: 180px;
}

.about__section-heading {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(32px, 5vw, 48px);
}

.about__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(213, 139, 85, 0.15);
    color: var(--primary);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
}

.about__timeline {
    padding: clamp(20px, 5vw, 40px) 0;
}

.about__timeline-track {
    position: relative;
    display: grid;
    gap: clamp(20px, 4vw, 28px);
    padding: clamp(20px, 4vw, 40px) 0;
}

.about__timeline-line,
.about__timeline-progress {
    position: absolute;
    left: 12px;
    top: 0;
    width: 2px;
    height: 100%;
    background: rgba(29, 27, 23, 0.12);
    border-radius: 99px;
}

.about__timeline-progress {
    background: linear-gradient(180deg, var(--primary), var(--primary2));
    height: 0;
    transition: height 1s ease;
}

.about__timeline-track.is-animated .about__timeline-progress {
    height: 100%;
}

.about__timeline-item {
    position: relative;
    padding-left: 40px;
    background: var(--surface);
    border-radius: var(--radius);
    padding-top: 20px;
    padding-bottom: 20px;
    padding-right: 20px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
}

.about__timeline-item::before {
    content: attr(data-year);
    position: absolute;
    left: -4px;
    top: 18px;
    transform: translateX(-50%);
    background: var(--primary);
    color: var(--surface);
    font-weight: 700;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 0.85rem;
    box-shadow: 0 8px 20px rgba(139, 74, 43, 0.3);
}

.about__timeline-item h3 {
    font-size: 1.2rem;
    margin-bottom: 8px;
}

.about__timeline-item p {
    color: var(--muted);
    line-height: 1.6;
}

.about__timeline-item.is-visible {
    border-color: rgba(213, 139, 85, 0.5);
    box-shadow: 0 18px 40px rgba(139, 74, 43, 0.2);
}

.about__pillars {
    padding: clamp(30px, 6vw, 60px) 0;
}

.about__pillars-grid,
.about__numbers-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: clamp(18px, 3vw, 28px);
}

.about__pillar-card,
.about__number-card,
.about__cta-card {
    background: var(--surface);
    border-radius: var(--radius);
    padding: clamp(22px, 4vw, 32px);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
}

.about__icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(139, 74, 43, 0.1);
    display: grid;
    place-items: center;
    color: var(--primary);
    margin-bottom: 16px;
}

.about__icon svg {
    width: 28px;
    height: 28px;
}

.about__pillar-card h3,
.about__number-card h3 {
    margin-bottom: 8px;
    font-size: 1.2rem;
}

.about__numbers {
    padding: clamp(30px, 6vw, 60px) 0;
}

.about__number {
    font-size: clamp(2.4rem, 4vw, 3rem);
    font-weight: 700;
    color: var(--primary);
    display: block;
    margin-bottom: 6px;
}

.about__culture {
    padding: clamp(30px, 6vw, 60px) 0;
}

.about__chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.about__chip {
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(139, 74, 43, 0.1);
    color: var(--primary);
    font-weight: 600;
    font-size: 0.9rem;
}

.about__cta {
    padding: clamp(30px, 6vw, 60px) 0;
}

.about__cta-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: linear-gradient(120deg, rgba(139, 74, 43, 0.12), rgba(213, 139, 85, 0.18));
}

.about__cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.about__reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.about__reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 900px) {
    .about__timeline-track {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 18px;
    }

    .about__timeline-line,
    .about__timeline-progress {
        top: auto;
        left: 0;
        right: 0;
        bottom: 12px;
        height: 2px;
        width: 100%;
    }

    .about__timeline-progress {
        width: 0;
        height: 2px;
        transition: width 1s ease;
    }

    .about__timeline-track.is-animated .about__timeline-progress {
        width: 100%;
    }

    .about__timeline-item {
        padding-left: 20px;
        padding-bottom: 48px;
    }

    .about__timeline-item::before {
        left: 50%;
        top: auto;
        bottom: -18px;
        transform: translateX(-50%);
    }
}

@media (max-width: 720px) {
    .about__cta-card {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about__reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .about__btn {
        transition: none;
    }

    .about__timeline-progress {
        transition: none;
    }
}





            /* PAGINA CONTATO */

main.contact-page {
    padding-top: 0;
}

.contact-page__container {
    width: min(var(--content-max), calc(100% - 32px));
    margin: 0 auto;
    padding: 120px 0 56px;
}

.contact-page__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    align-items: start;
}

.contact-page__info h1 {
    font-size: clamp(2rem, 3.8vw, 2.8rem);
    color: #1c1c1c;
    margin-bottom: 12px;
}

.contact-page__intro {
    color: #4b4b4b;
    max-width: 52ch;
    margin-bottom: 24px;
    line-height: 1.55;
}

.contact-page__cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.contact-card {
    background: #f8f8f8;
    border: 1px solid #e6e2de;
    border-radius: 10px;
    padding: 18px;
    min-height: 132px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.06);
}

.contact-card--highlight {
    background: #8B4513;
    color: #fff;
}

.contact-card__icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    margin-bottom: 10px;
    background: rgba(255, 255, 255, 0.18);
}

.contact-card:not(.contact-card--highlight) .contact-card__icon {
    background: #ece7e2;
}

.contact-card__icon svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.contact-card h2 {
    font-size: 1.03rem;
    margin-bottom: 6px;
}

.contact-card p,
.contact-card a {
    color: inherit;
    text-decoration: none;
    line-height: 1.45;
    font-weight: 500;
}

.contact-card a:hover,
.contact-card a:focus-visible {
    text-decoration: underline;
}

.contact-page__socials {
    margin-top: 24px;
}

.contact-page__socials h2 {
    font-size: 1.1rem;
    margin-bottom: 12px;
    color: #272727;
}

.social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.social-icons a {
    width: 38px;
    height: 38px;
    background: #111;
    border-radius: 4px;
    display: grid;
    place-items: center;
    color: #fff;
    transition: transform .2s ease, background-color .2s ease;
}

.social-icons svg,
.social-icons img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.social-icons a:hover,
.social-icons a:focus-visible {
    transform: translateY(-2px);
    background: #303030;
}

.contact-form-panel {
    background: linear-gradient(180deg, rgba(42, 21, 9, 0.72), rgba(64, 34, 16, 0.86)), url('/img/madeira.png') center/cover no-repeat;
    border-radius: 14px;
    padding: 26px;
    box-shadow: 0 14px 26px rgba(0, 0, 0, 0.22);
    min-height: 100%;
}

.contact-form-panel__form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.contact-feedback {
    border-radius: 8px;
    font-size: .95rem;
    line-height: 1.4;
    padding: 12px 14px;
    border: 1px solid transparent;
}

.contact-feedback--sucesso {
    color: #113e24;
    background: rgba(170, 236, 190, 0.95);
    border-color: rgba(17, 62, 36, 0.3);
}

.contact-feedback--erro {
    color: #5d1515;
    background: rgba(255, 207, 207, 0.94);
    border-color: rgba(93, 21, 21, 0.3);
}

.contact-form-panel__group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contact-form-panel label {
    color: #f7f1e9;
    font-size: .95rem;
}

.contact-form-panel input,
.contact-form-panel textarea {
    width: 100%;
    border: 1px solid rgba(255, 235, 214, 0.85);
    color: #fff;
    padding: 10px 12px;
    font-size: .95rem;
    background: rgba(0, 0, 0, 0.15);
    border-radius: 3px;
}

.contact-form-panel input::placeholder,
.contact-form-panel textarea::placeholder {
    color: rgba(255, 255, 255, 0.72);
}

.contact-form-panel input:focus-visible,
.contact-form-panel textarea:focus-visible,
.contact-form-panel__submit:focus-visible,
.social-icons a:focus-visible {
    outline: 3px solid #ffd19c;
    outline-offset: 2px;
}

.contact-form-panel textarea {
    resize: vertical;
    min-height: 130px;
}

.contact-form-panel__submit {
    width: fit-content;
    min-width: 140px;
    border: 1px solid #000;
    background: #151515;
    color: #fff;
    padding: 11px 18px;
    border-radius: 3px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease;
}

.contact-form-panel__submit:hover {
    background: #000;
}

.contact-page__map {
    margin-top: 34px;
}

.contact-page__map iframe {
    width: 100%;
    height: 350px;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.1);
}

@media (min-width: 740px) {
    .contact-page__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 980px) {
    .contact-page__grid {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 490px);
        gap: 38px;
    }

    .contact-form-panel {
        padding: 36px 30px;
    }
}

/* PAGINA CLIENTE */






/* Container */
.cliente-container {
    padding: 120px clamp(1rem, 4vw, 50px) 60px;
    background: var(--cinza-claro);
    min-height: 100vh;
    text-align: center;
}

.cliente-container > * {
    width: min(var(--content-max-wide), 100%);
    margin-inline: auto;
}

.cliente-container h1 {
    color: var(--laranja);
    font-size: 2.2em;
    margin-bottom: 10px;
}

.cliente-container .descricao {
    font-size: 1.2em;
    margin-bottom: 50px;
    color: var(--marrom);
}

/* Timeline */
.timeline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: var(--content-max);
    margin: auto;
    position: relative;
    flex-wrap: wrap;
}

.timeline--andamento {
    margin-top: 20px;
    padding-bottom: 10px;
}

/* Linha de conexão */
.timeline::before {
    content: "";
    position: absolute;
    top: 38px;
    left: 50px;
    right: 50px;
    height: 6px;
    background: var(--cinza-medio);
    z-index: 1;
    border-radius: 3px;
}

.timeline--andamento .timeline-progress {
    position: absolute;
    top: 38px;
    left: 50px;
    height: 6px;
    background: var(--laranja);
    z-index: 2;
    border-radius: 3px;
    transition: width 0.3s ease;
}

.timeline-progress--0 {
    width: 0;
}

.timeline-progress--25 {
    width: calc((100% - 100px) * 0.25);
}

.timeline-progress--50 {
    width: calc((100% - 100px) * 0.5);
}

.timeline-progress--75 {
    width: calc((100% - 100px) * 0.75);
}

.timeline-progress--100 {
    width: calc((100% - 100px) * 1);
}

/* Etapas */
.etapa {
    position: relative;
    text-align: center;
    width: 18%;
    z-index: 2;
    transition: transform 0.3s;
}

.timeline-step.is-pending .circulo {
    background: var(--cinza-medio);
    color: var(--branco);
    box-shadow: none;
}

.timeline-step.is-pending .detalhes h3,
.timeline-step.is-pending .timeline-date {
    color: var(--cinza-escuro);
}

.etapa:hover {
    transform: scale(1.05);
}

/* Círculo padrão (cinza) */
.circulo {
    width: 60px;
    height: 60px;
    background: var(--cinza-medio);
    border-radius: 50%;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    color: var(--branco);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: background 0.3s, transform 0.3s;
}

/* Cores e emojis por etapa */
.etapa--pedido .circulo,
.status-label--pedido {
    background: #1e88e5;
    color: var(--branco);
}

.etapa--producao .circulo,
.status-label--producao {
    background: #f4a261;
    color: var(--branco);
}

.etapa--acabamento .circulo,
.status-label--acabamento {
    background: #8d6e63;
    color: var(--branco);
}

.etapa--transporte .circulo,
.status-label--transporte {
    background: #43a047;
    color: var(--branco);
}

.etapa--concluido .circulo,
.status-label--concluido {
    background: #2e7d32;
    color: var(--branco);
}

/* Destaque da etapa ativa */
.etapa.ativa .circulo {
    transform: scale(1.1);
    box-shadow: 0 0 0 4px rgba(139, 69, 19, 0.35);
}

.detalhes h3 {
    font-size: 1em;
    color: var(--marrom);
    margin-bottom: 5px;
}

.detalhes span {
    font-size: 0.9em;
    color: var(--preto);
}

.timeline-date {
    display: block;
    margin-top: 4px;
    font-size: 0.85em;
    color: var(--marrom);
}

.status-atual {
    margin-bottom: 20px;
}

.status-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9em;
}

.andamento-page #menu {
    background-color: #8B4513;
}

/* Responsividade */
@media (max-width: 900px) {
    .timeline {
        flex-direction: column;
    }
    .timeline::before {
        content: none;
    }
    .timeline--andamento .timeline-progress {
        display: none;
    }
    .etapa {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 15px;
        margin-bottom: 30px;
    }
    .detalhes {
        text-align: left;
    }
    .circulo {
        flex-shrink: 0;
    }
}

/* Animação */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.cliente-container, .etapa {
    animation: fadeIn 1s ease-in-out;
}





        /* ADIMIN */




/* Container */
.adimin-container {
    width: min(680px, calc(100% - 2.5rem));
    margin: 120px auto 60px;
    background: var(--marrom);
    padding: 40px 30px;
    border-radius: 12px;
    box-shadow: 0 20px 58px rgba(0, 0, 0, 0.15);
    animation: fadeIn 1s ease-in-out;
}

.adimin-container h1 {
    font-size: 2em;
    color: var(--branco);
    text-align: center;
    margin-bottom: 10px;
}

.adimin-container p {
    text-align: center;
    margin-bottom: 25px;
    color: var(--branco);
    font-size: 1.1em;
}

.adimin-lista {
    width: min(var(--content-max), calc(100% - 2.5rem));
    margin: 0 auto 80px;
    background: var(--branco);
    padding: 30px 28px;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    animation: fadeIn 1s ease-in-out;
}

.adimin-lista h2 {
    font-size: 1.7em;
    color: var(--marrom);
    text-align: center;
    margin-bottom: 8px;
}

.adimin-lista p {
    text-align: center;
    color: var(--marrom);
    margin-bottom: 22px;
}

.admin-alert {
    padding: 12px 14px;
    border-radius: 8px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 18px;
}

.admin-alert--erro {
    background: rgba(231, 76, 60, 0.15);
    color: var(--vermelho);
}

.admin-vazio {
    text-align: center;
    color: var(--marrom);
    font-weight: 600;
}

.admin-tabela-wrapper {
    overflow-x: auto;
}

.admin-tabela {
    width: 100%;
    border-collapse: collapse;
    min-width: 620px;
}

.admin-tabela th,
.admin-tabela td {
    text-align: left;
    padding: 12px 14px;
    border-bottom: 1px solid #eee;
    color: var(--marrom);
    font-size: 0.98em;
}

.admin-tabela th {
    background: var(--cinza-claro);
    font-weight: 700;
}

.admin-acoes {
    text-align: right;
}

.btn-editar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    background: var(--marrom);
    color: var(--branco);
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.2s ease, background 0.2s ease;
}

.btn-editar:hover {
    background: #6f3308;
    transform: translateY(-1px);
}

/* Formulário */
.form-group {
    margin-bottom: 20px;
}

#admin label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: var(--branco);
}

#admin input {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--cinza-medio);
    border-radius: 8px;
    font-size: 1em;
    transition: border 0.3s, box-shadow 0.3s;
}

#admin input:focus {
    border-color: var(--laranja);
    box-shadow: 0 0 6px rgba(230, 126, 34, 0.4);
}

/* Botão */
.btn-cadastrar {
    width: 100%;
    padding: 14px;
    background: var(--laranja);
    color: var(--branco);
    border: none;
    border-radius: 8px;
    font-size: 1.1em;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    font-weight: bold;
}

.btn-cadastrar:hover {
    background: #d35400;
    transform: scale(1.02);
}

/* Mensagens */
.sucesso {
    background: var(--verde);
    color: var(--branco);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    text-align: center;
}

.erro {
    background: var(--vermelho);
    color: var(--branco);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    text-align: center;
}

.toast-sucesso {
    position: fixed;
    top: 20px;
    right: 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: rgba(46, 204, 113, 0.95);
    color: var(--branco);
    border-radius: 12px;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18);
    font-weight: 700;
    letter-spacing: 0.3px;
    transform: translateX(120%);
    animation: toastSlideIn 0.5s ease forwards;
}

.toast-erro {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    padding: 12px 16px;
    background: rgba(231, 76, 60, 0.95);
    color: var(--branco);
    border-radius: 10px;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18);
    font-weight: 700;
    letter-spacing: 0.2px;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-10px);
    animation: toastFadeIn 0.4s ease forwards;
}

.toast-icone {
    font-size: 1.3rem;
}

.toast-texto {
    text-transform: uppercase;
}

.toast-encerrar {
    animation: toastSlideOut 0.4s ease forwards;
}

.toast-erro.toast-encerrar {
    animation: toastFadeOut 0.4s ease forwards;
}

@keyframes toastSlideIn {
    from {
        transform: translateX(120%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes toastSlideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(120%);
        opacity: 0;
    }
}

@keyframes toastFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes toastFadeOut {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(-10px);
    }
}

/* Animação */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}


/* Responsividade */
@media (max-width: 600px) {
    .adimin-container {
        margin: 100px 20px 40px;
        padding: 30px 20px;
    }

    .adimin-lista {
        margin: 0 20px 60px;
        padding: 24px 20px;
    }
}




                /* CADASTRO */

/* Cadastro de clientes: escopo próprio para não alterar formulários legados. */
.cadastro-cliente-page {
    background:
        radial-gradient(circle at 12% 18%, rgba(230, 126, 34, 0.13), transparent 30rem),
        linear-gradient(145deg, #fffaf3 0%, var(--bege-claro) 48%, #f1e1d0 100%);
}

.cadastro-cliente-main {
    display: grid;
    width: min(1080px, calc(100% - 2rem));
    margin: 150px auto 72px;
    gap: 28px;
}

.cadastro-cliente-card {
    overflow: hidden;
    padding: clamp(24px, 4vw, 46px);
    border: 1px solid rgba(139, 69, 19, 0.14);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 55px rgba(75, 43, 22, 0.13);
}

.cadastro-cliente-header {
    max-width: 680px;
    margin-bottom: 30px;
}

.cadastro-cliente-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--laranja-escuro);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.cadastro-cliente-header h1,
.cadastro-cliente-header h2 {
    margin: 0 0 10px;
    color: #3f2819;
    font-size: clamp(1.65rem, 3vw, 2.35rem);
    line-height: 1.15;
}

.cadastro-cliente-header h2 { font-size: clamp(1.4rem, 2.4vw, 1.85rem); }
.cadastro-cliente-header p,
.cadastro-vazio {
    color: var(--cinza-escuro);
    font-size: 1rem;
    line-height: 1.65;
}

.cadastro-mensagens:empty { display: none; }
.cadastro-alert {
    margin-bottom: 24px;
    padding: 15px 18px;
    border: 1px solid;
    border-radius: 12px;
    font-size: 0.92rem;
    line-height: 1.5;
}
.cadastro-alert ul { margin: 7px 0 0 20px; }
.cadastro-alert--erro { border-color: #e6b4ae; color: #842e26; background: #fff0ed; }
.cadastro-alert--sucesso { border-color: #a8d6b9; color: #23603a; background: #eaf7ef; }

.cadastro-cliente-form fieldset { border: 0; }
.cadastro-cliente-form legend {
    width: 100%;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eadfd4;
    color: #513522;
    font-size: 1rem;
    font-weight: 800;
}
.cadastro-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cadastro-campo { display: grid; min-width: 0; gap: 7px; }
.cadastro-campo--full { grid-column: 1 / -1; }
.cadastro-campo label {
    color: #493425;
    font-size: 0.88rem;
    font-weight: 750;
}
.cadastro-campo label span { color: var(--vermelho); }
.cadastro-campo input,
.cadastro-campo select {
    width: 100%;
    min-height: 49px;
    padding: 11px 13px;
    border: 1px solid #cfc2b6;
    border-radius: 10px;
    outline: none;
    color: #39291e;
    background: var(--branco);
    font: inherit;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.cadastro-campo input::placeholder { color: #91867d; }
.cadastro-campo input:hover,
.cadastro-campo select:hover { border-color: #aa9381; }
.cadastro-campo input:focus-visible,
.cadastro-campo select:focus-visible {
    border-color: var(--laranja-escuro);
    box-shadow: 0 0 0 4px rgba(230, 126, 34, 0.16);
}
.cadastro-campo small { color: #766b63; font-size: 0.76rem; line-height: 1.4; }
.cadastro-cliente-form.foi-validado input:invalid,
.cadastro-cliente-form.foi-validado select:invalid {
    border-color: var(--vermelho);
    background: #fffafa;
}

.cadastro-consentimento {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 24px;
    padding: 15px;
    border-radius: 11px;
    color: #59483b;
    background: #faf5ef;
    font-size: 0.88rem;
    line-height: 1.5;
    cursor: pointer;
}
.cadastro-consentimento input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--laranja-escuro); }
.cadastro-consentimento:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.2); }

.cadastro-acoes,
.cadastro-editar-form { display: flex; align-items: flex-end; gap: 14px; margin-top: 26px; }
.cadastro-voltar {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border: 1px solid #d3c3b5;
    border-radius: 10px;
    color: var(--marrom);
    font-weight: 750;
    text-decoration: none;
}
.cadastro-submit,
.cadastro-editar-botao {
    min-height: 48px;
    margin: 0;
    border: 0;
    border-radius: 10px;
    color: var(--branco);
    background: linear-gradient(135deg, var(--laranja), #c45b0a);
    box-shadow: 0 9px 20px rgba(180, 83, 9, 0.24);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.cadastro-submit { width: auto; min-width: 190px; margin-left: auto; padding: 12px 22px; }
.cadastro-editar-botao {
    display: inline-flex;
    flex: 0 0 auto;
    width: auto;
    align-items: center;
    justify-content: center;
    padding: 11px 20px;
    white-space: nowrap;
}
.cadastro-submit:hover:not(:disabled),
.cadastro-editar-botao:hover { background: linear-gradient(135deg, #d86f14, #a94706); transform: translateY(-1px); }
.cadastro-voltar:focus-visible,
.cadastro-submit:focus-visible,
.cadastro-editar-botao:focus-visible { outline: 3px solid rgba(230, 126, 34, 0.35); outline-offset: 3px; }
.cadastro-submit:disabled { opacity: 0.72; cursor: wait; transform: none; }
.cadastro-submit__carregando { display: none; }
.cadastro-submit.is-loading .cadastro-submit__texto { display: none; }
.cadastro-submit.is-loading .cadastro-submit__carregando { display: inline; }
.cadastro-editar-card { box-shadow: 0 14px 38px rgba(75, 43, 22, 0.09); }
.cadastro-editar-form .cadastro-campo { flex: 1; }

@media (max-width: 680px) {
    .cadastro-cliente-main { width: min(100% - 1rem, 1080px); margin-top: 118px; margin-bottom: 40px; gap: 18px; }
    .cadastro-cliente-card { padding: 23px 18px; border-radius: 15px; }
    .cadastro-cliente-header { margin-bottom: 23px; }
    .cadastro-form-grid { grid-template-columns: 1fr; gap: 17px; }
    .cadastro-campo--full { grid-column: auto; }
    .cadastro-acoes,
    .cadastro-editar-form { align-items: stretch; flex-direction: column; }
    .cadastro-submit,
    .cadastro-voltar,
    .cadastro-editar-botao { width: 100%; margin-left: 0; }
    .cadastro-voltar { order: 2; }
}

@media (prefers-reduced-motion: reduce) {
    .cadastro-campo input,
    .cadastro-campo select,
    .cadastro-submit,
    .cadastro-editar-botao { transition: none; }
}




/* Container */
.cadastro-container {
    width: min(760px, calc(100% - 2.5rem));
    margin: 120px auto 60px;
    background: var(--marrom);
    padding: 40px 30px;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
    animation: fadeIn 1s ease-in-out;
}

.cadastro-container h1 {
    font-size: 2.2em;
    color: var(--branco);
    text-align: center;
    margin-bottom: 10px;
}

.cadastro-container p {
    text-align: center;
    margin-bottom: 25px;
    color: var(--branco);
    font-size: 1.1em;
}

hr {
    border: none;
    height: 1px;
    background: var(--cinza-medio);
    margin: 25px 0;
}

/* Formulário */
.form-group {
    margin-bottom: 20px;
}

#cadastro label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: var(--branco);
}

#cadastro  input,
#cadastro  textarea,
#cadastro  select {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--cinza-medio);
    border-radius: 8px;
    font-size: 1em;
    transition: border 0.3s, box-shadow 0.3s;
}

#cadastro  input:focus,
#cadastro  textarea:focus,
#cadastro  select:focus {
    border-color: var(--laranja);
    box-shadow: 0 0 6px rgba(230, 126, 34, 0.4);
}

textarea {
    resize: none;
    min-height: 120px;
}

/* Botão */
.btn-cadastrar {
    width: 100%;
    padding: 14px;
    background: var(--laranja);
    color: var(--branco);
    border: none;
    border-radius: 8px;
    font-size: 1.1em;
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
    font-weight: bold;
    margin-top: 10px;
}

.btn-cadastrar:hover {
    background: #d35400;
    transform: scale(1.02);
}

/* Mensagens */
.sucesso {
    background: var(--verde);
    color: var(--branco);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    text-align: center;
}

.erro {
    background: var(--vermelho);
    color: var(--branco);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    text-align: center;
}

/* Animação */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsividade */
@media (max-width: 600px) {
    .cadastro-container {
        margin: 100px 20px 40px;
        padding: 30px 20px;
    }
}




                /* EDITAR */




.editar-container {
    width: min(920px, calc(100% - 2.5rem));
    margin: 120px auto 50px;
    background: var(--branco);
    padding: 40px 30px;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
    animation: fadeIn 1s ease-in-out;
}

.editar-container h1 {
    font-size: 2.2em;
    color: var(--laranja);
    text-align: center;
    margin-bottom: 15px;
}

.editar-container p {
    text-align: center;
    margin-bottom: 25px;
    color: var(--marrom);
    font-size: 1.1em;
}

.filtro-projetos {
    background: var(--cinza-claro);
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 20px;
}

.filtro-projetos label {
    display: block;
    font-weight: 600;
    color: var(--marrom);
    margin-bottom: 10px;
}

.filtro-projetos__campo {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.filtro-projetos__campo input {
    flex: 1;
    min-width: 220px;
    padding: 12px;
    border: 1px solid var(--cinza-medio);
    border-radius: 8px;
    font-size: 1em;
}

.filtro-projetos__campo input:focus {
    border-color: var(--laranja);
    box-shadow: 0 0 6px rgba(230, 126, 34, 0.35);
}

.btn-limpar-filtro {
    padding: 12px 18px;
    border-radius: 8px;
    border: 1px solid var(--laranja);
    background: var(--branco);
    color: var(--marrom);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s, color 0.3s;
}

.btn-limpar-filtro:hover {
    background: var(--laranja);
    color: var(--branco);
}

.filtro-projetos__ajuda {
    margin-top: 10px;
    color: var(--marrom);
    font-size: 0.95em;
}

.filtro-projetos__mensagem {
    text-align: center;
    font-weight: 600;
    color: var(--vermelho);
    margin-bottom: 20px;
}

/* Formulário */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: var(--marrom);
}

.form-group select,
.form-group input {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--cinza-medio);
    border-radius: 8px;
    font-size: 1em;
    transition: border 0.3s, box-shadow 0.3s;
}

.form-group select:focus,
.form-group input:focus {
    border-color: var(--laranja);
    box-shadow: 0 0 6px rgba(230, 126, 34, 0.4);
}

.etapa-upload-section {
    display: none;
    margin-bottom: 20px;
}

.etapa-upload-section.is-active {
    display: block;
}

.etapas-fotos {
    margin-top: 30px;
}

.etapas-fotos h3 {
    color: var(--laranja);
    margin-bottom: 15px;
}

.etapa-fotos {
    margin-top: 20px;
}

.etapa-fotos h4 {
    color: var(--marrom);
    margin-bottom: 10px;
}

.etapa-fotos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px;
}

.etapa-foto-item img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--cinza-medio);
}

.etapa-foto-remove {
    margin-top: 8px;
}

.btn-remover-foto {
    background: var(--vermelho);
    color: var(--branco);
    width: 100%;
    margin-top: 8px;
}

.btn-remover-foto:hover {
    background: #a93226;
    transform: scale(1.02);
}

.etapa-fotos-vazio {
    color: var(--marrom);
    font-size: 0.95em;
}

.andamento-fotos {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(139, 69, 19, 0.2);
}

.andamento-fotos h4 {
    color: var(--laranja);
    margin-bottom: 12px;
}

.andamento-fotos-etapa {
    margin-bottom: 18px;
}

.andamento-fotos-etapa h5 {
    color: var(--marrom);
    margin-bottom: 8px;
}

.andamento-fotos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 12px;
}

.andamento-fotos-grid img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid var(--cinza-medio);
}

.andamento-fotos-vazio {
    color: var(--marrom);
    font-size: 0.95em;
}

button {
    padding: 12px 25px;
    font-size: 1em;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;
    transition: background 0.3s, transform 0.2s;
}

.btn-buscar {
    background: var(--marrom);
    color: var(--branco);
    width: 100%;
    margin-top: 10px;
}

.btn-buscar:hover {
    background: #3e2723;
    transform: scale(1.02);
}

.btn-atualizar {
    background: var(--laranja);
    color: var(--branco);
    width: 100%;
    margin-top: 10px;
}

.btn-atualizar:hover {
    background: #d35400;
    transform: scale(1.02);
}

/* Dados do Cliente */
.dados-cliente {
    background: var(--cinza-claro);
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 25px;
    border-left: 6px solid var(--laranja);
}

.dados-cliente h2 {
    color: var(--laranja);
    margin-bottom: 10px;
}

.dados-cliente p {
    margin: 5px 0;
    color: var(--marrom);
}

/* Mensagens */
.sucesso {
    background: var(--verde);
    color: var(--branco);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    text-align: center;
}

.erro {
    background: var(--vermelho);
    color: var(--branco);
    padding: 10px;
    border-radius: 6px;
    margin-bottom: 15px;
    text-align: center;
}

/* Animação */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Responsividade */
@media (max-width: 600px) {
    .editar-container {
        margin: 100px 20px 40px;
        padding: 30px 20px;
    }
}

/* ===========================
   INDEX HERO (referência visual)
   =========================== */


.galeria-destaque {
    padding: 0 20px 24px;
}

.galeria-destaque .container {
    max-width: var(--content-max);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    align-items: center;
    padding: 12px;
    border-radius: 3px;
}

.galeria-destaque h2 {
    font-size: clamp(2rem, 3vw, 2.7rem);
    color: var(--marrom);
    margin: 1rem auto 0.5rem;
    display: block;
    text-align: center;

    opacity: 0;
    transform: translateY(12px);
    animation: projetosTitleIn 0.7s ease forwards;
}

/* Linha decorativa sob o título com animação de “desenho” */
.galeria-destaque h2::after {
    content: "";
    display: block;
    width: 70%;
    height: 3px;
    background: linear-gradient(90deg, var(--laranja), var(--marrom-claro));
    margin: 0.6rem auto 0;
    border-radius: 999px;

    transform-origin: center;
    transform: scaleX(0);
    opacity: 0;
    animation: projetosTitleLine 0.8s ease forwards;
    animation-delay: 0.15s;
}

.galeria-destaque .card {
    width: clamp(170px, 19vw, 250px);
    height: clamp(280px, 31vw, 400px);
    flex: 1 1 clamp(170px, 19vw, 250px);
    border-radius: 3px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.25);
    transition: transform 0.35s ease, opacity 0.35s ease, border-color 0.35s ease;
    cursor: pointer;
}

.galeria-destaque--escadinha .galeria-destaque__card {
    --card-index: 0;
    opacity: 0;
    transform: translateY(70px);
}

.galeria-destaque--escadinha.is-visible .galeria-destaque__card {
    animation: galeriaEscadinhaIn 0.8s ease forwards;
    animation-delay: calc(var(--card-index) * 0.14s);
}

.galeria-destaque--escadinha.is-visible .galeria-destaque__card:nth-child(1) {
    transform: translateY(0);
}

.galeria-destaque--escadinha.is-visible .galeria-destaque__card:nth-child(2) {
    transform: translateY(20px);
}

.galeria-destaque--escadinha.is-visible .galeria-destaque__card:nth-child(3) {
    transform: translateY(40px);
}

.galeria-destaque--escadinha.is-visible .galeria-destaque__card:nth-child(4) {
    transform: translateY(60px);
}

.galeria-destaque .card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.7) brightness(0.8);
    transition: filter 0.35s ease;
}

.galeria-destaque .container:hover > .card:not(:hover) {
    opacity: 0.55;
}

.galeria-destaque .card:hover {
    transform: scale(1.08);
    border-color: rgba(255, 255, 255, 0.9);
}

.galeria-destaque .card:hover img {
    filter: saturate(1) brightness(1);
}

@keyframes galeriaEscadinhaIn {
    from {
        opacity: 0;
        transform: translateY(70px);
    }
    to {
        opacity: 1;
    }
}

@media (max-width: 680px) {
    .galeria-destaque .container {
        gap: 8px;
        padding: 10px;
    }

    .galeria-destaque .card {
        width: 72px;
        height: 104px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .galeria-destaque--escadinha .galeria-destaque__card,
    .galeria-destaque--escadinha.is-visible .galeria-destaque__card {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

.hero--index {
    min-height: 100vh;
    min-height: 100svh;
    height: auto;
    background-image: url('/img/menufundo.png');
    background-position: center;
    overflow: hidden;
}

.hero--index .hero__overlay {
    background: linear-gradient(
        90deg,
        rgba(8, 10, 15, 0.82) 0%,
        rgba(8, 10, 15, 0.62) 36%,
        rgba(8, 10, 15, 0.3) 62%,
        rgba(8, 10, 15, 0.2) 100%
    );
}

.hero__content {
    position: absolute;
    top: 50%;
    left: clamp(1.5rem, 4vw, 3rem);
    transform: translateY(-37%);
    z-index: 3;
    color: var(--branco);
    max-width: 620px;
}

.hero__content h1 {
    font-size: clamp(2.5rem, 5.5vw, 5rem);
    line-height: 0.95;
    letter-spacing: 0.01em;
    margin-bottom: 1.3rem;
}

.hero__content p {
    font-size: clamp(1rem, 1.6vw, 1.55rem);
    line-height: 1.45;
    max-width: 760px;
    margin-bottom: 1.6rem;
}

.hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 54px;
    padding: 0.85rem 2rem;
    border-radius: 999px;
    background-color: #a85713;
    color: var(--branco);
    font-size: 1.2rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.hero__cta:hover {
    background-color: #8d470e;
    transform: translateY(-2px);
}


.brand-name {
    font-size: clamp(1.05rem, 1.8vw, 2rem);
    letter-spacing: 0.05em;
}


.btn-login {
    border-radius: 8px;
    font-size: 1rem;
    padding: 10px 20px;
}

.hero__arrow {
    color: #a85713;
}

@media (max-width: 768px) {
    .hero__content {
        transform: translateY(-30%);
        max-width: calc(100% - 2.5rem);
    }

    .hero__content p {
        font-size: 0.95rem;
    }

    .hero__cta {
        min-width: 140px;
        min-height: 48px;
        font-size: 1.15rem;
    }
}

/* ===== Andamento v2 ===== */
.andamento-v2-page {
    --brand: #f28c28;
    --brand-dark: #b96512;
    --bg: #fdf6ea;
    --text: #2e241a;
    --muted: #756657;
    --success: #278f4d;
    --line: #dfd4c6;
}

.andamento-v2-page #menu {
    background-color: #8B4513;
}

.andamento-v2 {
    width: min(var(--content-max), 92%);
    margin: 120px auto 48px;
    color: var(--text);
    display: grid;
    gap: 20px;
}

.andamento-v2 .card {
    background: #fff;
    border: 1px solid #f0e6d8;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    padding: 22px;
}

.andamento-v2 .eyebrow {
    color: var(--brand-dark);
    font-weight: 700;
}

.andamento-v2 h1 {
    font-size: clamp(1.6rem, 3.2vw, 2.2rem);
}

.andamento-v2 .subtitulo { color: var(--muted); }

.andamento-v2 .chips {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 10px;
}

.andamento-v2 .chip {
    background: var(--bg);
    border-radius: 12px;
    padding: 10px;
    border: 1px solid #f2e4d1;
    display: grid;
    gap: 2px;
}

.andamento-v2 .chip span { color: var(--muted); font-size: 0.85rem; }

.timeline-v2 {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    list-style: none;
    padding: 0;
    margin: 0;
}

.timeline-v2__step {
    position: relative;
    padding: 4px 10px 0;
}

.timeline-v2__connector {
    position: absolute;
    top: 16px;
    left: -50%;
    width: 100%;
    height: 3px;
    background: var(--line);
}

.timeline-v2__step:first-child .timeline-v2__connector { display: none; }
.timeline-v2__step.done .timeline-v2__connector,
.timeline-v2__step.active .timeline-v2__connector { background: var(--brand); }

.timeline-v2__icon {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 2px solid var(--line);
    color: #b3a89b;
    background: #fff;
    display: grid;
    place-items: center;
    position: relative;
    z-index: 1;
}

.timeline-v2__icon svg { width: 18px; height: 18px; fill: currentColor; }

.timeline-v2__step.done .timeline-v2__icon {
    border-color: var(--success);
    color: #fff;
    background: var(--success);
}

.timeline-v2__step.active .timeline-v2__icon {
    border-color: var(--brand);
    color: #fff;
    background: var(--brand);
}

.timeline-v2__content h2 { font-size: 0.95rem; margin-top: 8px; }
.timeline-v2__content .time,
.timeline-v2__content .note { font-size: 0.82rem; color: var(--muted); }

.badge-agora {
    background: #fff0df;
    color: var(--brand-dark);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 0.72rem;
    margin-left: 6px;
}

.timeline-v2__legenda {
    margin-top: 14px;
    font-size: 0.85rem;
    color: var(--muted);
}

.timeline-v2__legenda .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 5px 0 14px;
}
.timeline-v2__legenda .dot.done { background: var(--success); }
.timeline-v2__legenda .dot.active { background: var(--brand); }
.timeline-v2__legenda .dot.todo { background: #cfc2b4; }

.andamento-v2__grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 20px;
}

.andamento-v2 .agora .status-destaque {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--brand-dark);
    margin: 8px 0;
}

.andamento-v2 .agora ul { padding-left: 20px; margin-top: 10px; }

.andamento-v2 .detalhes dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
}

.andamento-v2 .detalhes dt { color: var(--muted); font-weight: 600; }

.historico-lista { list-style: none; margin-top: 14px; padding: 0; display: grid; gap: 16px; }
.historico-lista li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; }
.historico-marcador {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-top: 8px;
    background: var(--brand);
    box-shadow: 0 0 0 4px #ffe6cb;
}

.historico-data { color: var(--muted); font-size: 0.85rem; }
.historico-conteudo img {
    margin-top: 8px;
    width: 100%;
    max-width: 180px;
    border-radius: 10px;
    border: 1px solid #ead9c3;
}

.cta { display: flex; gap: 12px; flex-wrap: wrap; }

.andamento-v2 .btn {
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    padding: 11px 16px;
    transition: transform .2s ease, box-shadow .2s ease;
}

.andamento-v2 .btn:focus-visible,
.andamento-v2 a:focus-visible {
    outline: 3px solid #3a7afe;
    outline-offset: 2px;
}

.andamento-v2 .btn:hover { transform: translateY(-1px); }
.andamento-v2 .btn-principal { background: var(--brand); color: #fff; }
.andamento-v2 .btn-secundario { background: #fff6ea; color: var(--brand-dark); border: 1px solid #f1d3ab; }

.empty-state { color: var(--muted); }

@media (max-width: 900px) {
    .andamento-v2 .chips { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
    .andamento-v2__grid { grid-template-columns: 1fr; }

    .timeline-v2 {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .timeline-v2__step {
        display: grid;
        grid-template-columns: 34px 1fr;
        gap: 10px;
        padding: 4px 0;
    }

    .timeline-v2__connector {
        left: 15px;
        top: -10px;
        width: 3px;
        height: calc(100% + 14px);
    }

    .timeline-v2__step:first-child .timeline-v2__connector { display: block; top: 16px; height: calc(100% - 2px); }
}

/* ===== detalhes.php ===== */
.detalhes-projeto {
    width: min(var(--content-max), 92%);
    margin: 120px auto 48px;
    display: grid;
    gap: 18px;
}

.detalhes-projeto .card {
    background: #fff;
    border: 1px solid #f0e6d8;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
    padding: 20px;
}

.detalhes-header h1 {
    margin-bottom: 4px;
}

.detalhes-header p {
    color: #7b6f63;
}

.detalhes-etapas-lista {
    display: grid;
    gap: 14px;
}

.detalhes-etapa-topo {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.detalhes-etapa-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.detalhes-status {
    background: #fff2df;
    border: 1px solid #f3d9b5;
    color: #7a4b14;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 0.85rem;
    font-weight: 600;
}

.detalhes-data {
    color: #8c7f72;
    font-size: 0.9rem;
}

.detalhes-fotos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
}

.detalhes-foto-btn {
    border: 1px solid #e7dac8;
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
}

.detalhes-foto-btn img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.detalhes-foto-indisponivel,
.detalhes-sem-foto {
    font-size: 0.9rem;
    color: #8f8378;
}

.detalhes-foto-indisponivel {
    border: 1px dashed #d8c7af;
    border-radius: 10px;
    min-height: 90px;
    display: grid;
    place-items: center;
    padding: 8px;
}

.detalhes-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.82);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    padding: 24px;
}

.detalhes-lightbox.is-open {
    display: flex;
}

.detalhes-lightbox img {
    max-width: min(1024px, 100%);
    max-height: 88vh;
    border-radius: 10px;
}

.detalhes-lightbox-fechar {
    position: absolute;
    right: 20px;
    top: 18px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
}

.detalhes-404 {
    text-align: center;
}

.btn-voltar {
    display: inline-block;
    margin-top: 10px;
    text-decoration: none;
    color: #7a4b14;
    font-weight: 700;
}

@media (min-width: 1440px) {
    :root {
        --content-max: 1280px;
        --content-max-wide: 1360px;
        --content-max-ultra: 1480px;
    }

    .projetos,
    .transparencia-container,
    .site-footer__inner,
    .site-footer__bottom {
        max-width: var(--content-max-wide);
    }

    .cards {
        gap: 2.2rem;
    }

    .contact-page__container {
        width: min(var(--content-max-wide), calc(100% - 4rem));
    }
}

@media (min-width: 1600px) {
    :root {
        --content-max: 1320px;
        --content-max-wide: 1440px;
        --content-max-ultra: 1560px;
    }

    .hero__content {
        max-width: 700px;
    }

    .feedback-list {
        gap: 2rem;
    }

    .galeria-destaque .container {
        max-width: var(--content-max-wide);
        gap: 14px;
    }
}

@media (min-width: 1920px) {
    :root {
        --content-max: 1360px;
        --content-max-wide: 1520px;
        --content-max-ultra: 1680px;
    }

    .transparencia-grid,
    .contact-page__grid,
    .andamento-v2__grid {
        gap: clamp(2rem, 2vw, 2.8rem);
    }

    .feedback {
        width: min(100%, 390px);
    }
}

/* ===========================
   SISTEMA DE ANIMAÇÕES DA INDEX
   =========================== */
:root {
    --anim-duration-fast: 180ms;
    --anim-duration: 620ms;
    --anim-duration-slow: 900ms;
    --anim-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --anim-shadow: 0 18px 46px rgba(52, 31, 15, 0.18);
    --anim-shadow-hover: 0 26px 60px rgba(52, 31, 15, 0.28);
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.animations-ready .anim-reveal,
.animations-ready .anim-card {
    animation: none;
    opacity: 0;
    transform: translate3d(0, 22px, 0) scale(0.985);
    transition:
        opacity var(--anim-duration) var(--anim-ease),
        transform var(--anim-duration) var(--anim-ease),
        box-shadow 320ms ease,
        border-color 320ms ease;
    transition-delay: calc(var(--anim-order, 0) * 80ms);
}

.animations-ready .anim-reveal--left { transform: translate3d(-34px, 0, 0); }
.animations-ready .anim-reveal--right { transform: translate3d(34px, 0, 0); }
.animations-ready .anim-reveal--down { transform: translate3d(0, -22px, 0); }
.animations-ready .anim-reveal--scale { transform: scale(0.94); }
.animations-ready .anim-reveal--fade { transform: none; }

.animations-ready .anim-reveal.is-visible,
.animations-ready .anim-card.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

.anim-delay-1 { transition-delay: 100ms !important; animation-delay: 100ms !important; }
.anim-delay-2 { transition-delay: 200ms !important; animation-delay: 200ms !important; }
.anim-delay-3 { transition-delay: 300ms !important; animation-delay: 300ms !important; }
.anim-delay-4 { transition-delay: 400ms !important; animation-delay: 400ms !important; }

.text-highlight {
    position: relative;
    display: inline-block;
    color: #fff7ed;
}

.text-highlight::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0.08em;
    height: 0.16em;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(230, 126, 34, 0.1), rgba(230, 126, 34, 0.82));
    z-index: -1;
    transform-origin: left;
    animation: highlightSweep 1s var(--anim-ease) 0.55s both;
}

.decor-bg {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.decor-bg::before,
.decor-bg::after {
    content: "";
    position: absolute;
    width: clamp(140px, 24vw, 320px);
    aspect-ratio: 1;
    border-radius: 45% 55% 60% 40%;
    background: radial-gradient(circle, rgba(230, 126, 34, 0.18), rgba(230, 126, 34, 0));
    pointer-events: none;
    z-index: -1;
    animation: decorFloat 10s ease-in-out infinite alternate;
}

.decor-bg::before { top: 8%; left: max(-120px, -8vw); }
.decor-bg::after { right: max(-130px, -9vw); bottom: 8%; animation-delay: -4s; }
.decor-bg--dark::before,
.decor-bg--dark::after { background: radial-gradient(circle, rgba(255, 248, 220, 0.16), rgba(255, 248, 220, 0)); }

.card,
.feedback,
.galeria-destaque__card {
    transition:
        transform 320ms var(--anim-ease),
        box-shadow 320ms ease,
        border-color 320ms ease;
}

.card:active,
.feedback:active,
button:active,
a:active,
.is-pressing {
    transform: translateY(-1px) scale(0.992);
}

@media (hover: hover) and (pointer: fine) {
    .card:hover,
    .feedback:hover,
    .galeria-destaque__card:hover {
        transform: translateY(-10px) scale(1.012);
        box-shadow: var(--anim-shadow-hover);
    }

    a:hover,
    button:hover,
    .site-footer__list a:hover {
        transition-duration: var(--anim-duration-fast);
    }
}

.hero__cta,
.btn-login,
#menu button,
.menu-dropdown__item,
.card-cta {
    position: relative;
    overflow: hidden;
    transition:
        transform 220ms var(--anim-ease),
        box-shadow 220ms ease,
        background-color 220ms ease,
        color 220ms ease;
}

.hero__cta::before,
.btn-login::before,
#menu button::before,
.menu-dropdown__item::before,
.card-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.28), transparent);
    transform: translateX(-120%);
    transition: transform 520ms ease;
    pointer-events: none;
}

.hero__cta:hover::before,
.btn-login:hover::before,
#menu button:hover::before,
.menu-dropdown__item:hover::before,
.card-cta:hover::before {
    transform: translateX(120%);
}

#menu nav ul li a {
    transition: color 220ms ease, transform 220ms var(--anim-ease);
}

#menu nav ul li a:hover,
#menu nav ul li a:focus-visible {
    transform: translateY(-1px);
}

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.2);
    color: var(--branco);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.menu-toggle__bar {
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform 260ms var(--anim-ease), opacity 180ms ease;
}

.menu-open .menu-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-open .menu-toggle__bar:nth-child(2) { opacity: 0; }
.menu-open .menu-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@keyframes highlightSweep {
    from { transform: scaleX(0); opacity: 0; }
    to { transform: scaleX(1); opacity: 1; }
}

@keyframes decorFloat {
    from { transform: translate3d(0, 0, 0) rotate(0deg); }
    to { transform: translate3d(18px, -18px, 0) rotate(8deg); }
}

@media (max-width: 860px) {
    #menu {
        align-items: center;
        flex-wrap: wrap;
        width: min(100% - 1rem, var(--content-max-ultra));
    }

    .menu-toggle {
        display: inline-flex;
        margin-left: auto;
    }

    #menu nav {
        flex-basis: 100%;
        width: 100%;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transform: translateY(-8px);
        transition:
            max-height 320ms var(--anim-ease),
            opacity 220ms ease,
            transform 320ms var(--anim-ease);
    }

    #menu.menu-open nav {
        max-height: 460px;
        opacity: 1;
        transform: translateY(0);
    }

    #menu nav ul,
    .menu-actions {
        width: 100%;
        align-items: stretch;
        justify-content: flex-start;
        flex-direction: column;
        gap: 10px;
        padding-top: 12px;
    }

    #menu nav ul li a,
    .menu-links .saudacao,
    #menu .menu-action-button {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .menu-dropdown,
    .menu-admin,
    .menu-logout { width: 100%; }

    .menu-dropdown__panel {
        position: static;
        min-width: 100%;
        margin-top: 8px;
        transform: translateY(-4px) scale(0.98);
    }
}

@media (max-width: 520px) {
    .brand { gap: 10px; }
    .brand-name { font-size: 0.88rem; letter-spacing: 0.04em; }
    .animations-ready .anim-reveal--left,
    .animations-ready .anim-reveal--right { transform: translate3d(0, 18px, 0); }
}

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

    .animations-ready .anim-reveal,
    .animations-ready .anim-card,
    .animations-ready .anim-reveal.is-visible,
    .animations-ready .anim-card.is-visible {
        opacity: 1 !important;
        transform: none !important;
    }

    .decor-bg::before,
    .decor-bg::after,
    .text-highlight::after,
    .card::after {
        animation: none !important;
    }
}

/* ===========================
   AGENDA ADMINISTRATIVA
   =========================== */
.agenda-page .admin-header { grid-template-columns: auto 1fr auto; }
.agenda-main { display: grid; gap: 20px; }
.agenda-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .85fr); gap: 20px; align-items: start; }
.agenda-card { min-width: 0; padding: 22px; border: 1px solid var(--admin-line); border-radius: 13px; background: var(--admin-card); box-shadow: 0 10px 28px rgba(61,42,28,.07); }
.agenda-card__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.agenda-card__header h2 { margin-top: 2px; font-size: 1.3rem; }
.agenda-card__header .admin-calendar-nav { gap: 9px; margin: 0; }
.admin-calendar-nav .agenda-today-link { width: auto; padding: 0 11px; font-size: .74rem; font-weight: 800; }
.agenda-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.agenda-calendar__weekday { padding: 7px 2px; color: var(--admin-muted); font-size: .68rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.agenda-calendar__day { min-width: 0; min-height: 106px; padding: 6px; border: 1px solid #ece4dc; border-radius: 8px; background: #fff; }
.agenda-calendar__day.is-empty { border-color: transparent; background: transparent; }
.agenda-calendar__day.has-events { background: #fffaf4; border-color: #edcaa7; }
.agenda-calendar__number { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: var(--admin-text); font-size: .75rem; font-weight: 700; }
.agenda-calendar__day.is-today .agenda-calendar__number { color: #fff; background: var(--admin-primary); }
.agenda-calendar__events { display: grid; gap: 3px; margin-top: 4px; }
.agenda-calendar__events > small { color: var(--admin-muted); font-size: .58rem; }
.agenda-event { display: block; overflow: hidden; padding: 4px 5px; border-left: 3px solid #d9772b; border-radius: 4px; color: #70401f; background: #f8e4cf; font-size: .6rem; font-weight: 650; line-height: 1.2; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.agenda-event time { font-weight: 850; }
.agenda-event--cancelado { border-color: #a89e96; color: #756c65; background: #eeeae7; text-decoration: line-through; }
.agenda-event--concluido { border-color: #38835b; color: #286044; background: #e2f2e9; }
.agenda-form { display: grid; gap: 15px; }
.agenda-form label { display: grid; gap: 6px; color: var(--admin-text); font-size: .78rem; font-weight: 750; }
.agenda-form label small { color: var(--admin-muted); font-weight: 500; }
.agenda-form input, .agenda-form select, .agenda-form textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #d8ccc1; border-radius: 7px; outline: 0; color: var(--admin-text); background: #fff; font: inherit; }
.agenda-form textarea { min-height: 105px; resize: vertical; }
.agenda-form input:focus, .agenda-form select:focus, .agenda-form textarea:focus { border-color: #c77738; box-shadow: 0 0 0 3px rgba(199,119,56,.13); }
.agenda-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.agenda-primary-button, .agenda-secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 14px; border: 0; border-radius: 7px; font: inherit; font-size: .78rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.agenda-primary-button { color: #fff; background: var(--admin-primary); }
.agenda-primary-button:hover { background: #6f3919; }
.agenda-secondary-button { border: 1px solid #d6c8bc; color: var(--admin-primary); background: #fff; }
.agenda-alert { padding: 13px 16px; border: 1px solid #a8d6b9; border-radius: 9px; color: #23603a; background: #eaf7ef; font-size: .85rem; }
.agenda-alert ul { margin: 6px 0 0 20px; }
.agenda-alert--erro { border-color: #e9b4ac; color: #842e26; background: #fff0ed; }
.agenda-list { display: grid; gap: 10px; }
.agenda-list__item { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; gap: 15px; align-items: center; padding: 14px; border: 1px solid #eee5dd; border-radius: 9px; background: #fff; }
.agenda-list__date { display: grid; place-items: center; min-height: 57px; border-radius: 8px; color: #fff; background: var(--admin-primary); }
.agenda-list__date strong { font-size: 1.25rem; line-height: 1; }
.agenda-list__date span { font-size: .62rem; }
.agenda-list__content { min-width: 0; }
.agenda-list__content h3 { display: inline; margin-right: 8px; font-size: .96rem; }
.agenda-list__content p { margin-top: 5px; color: var(--admin-muted); font-size: .76rem; line-height: 1.4; }
.agenda-status { float: right; padding: 4px 7px; border-radius: 999px; color: #7a461e; background: #f8e6d2; font-size: .62rem; font-weight: 800; }
.agenda-list__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.agenda-list__actions a, .agenda-list__actions button { min-height: 32px; padding: 6px 9px; border: 1px solid #d8ccc1; border-radius: 6px; color: var(--admin-primary); background: #fff; font: inherit; font-size: .68rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.agenda-list__actions button.is-danger { border-color: #e0b1aa; color: #a3342b; }
@media (max-width: 1180px) { .agenda-layout { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
    .agenda-page .admin-header { grid-template-columns: auto 1fr; }
    .agenda-page .admin-user { display: none; }
    .agenda-card { padding: 14px; }
    .agenda-card__header { align-items: flex-start; flex-direction: column; }
    .agenda-calendar { gap: 2px; }
    .agenda-calendar__day { min-height: 64px; padding: 3px; }
    .agenda-event { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #d9772b; color: transparent; font-size: 0; }
    .agenda-calendar__events { display: flex; flex-wrap: wrap; }
    .agenda-form__row { grid-template-columns: 1fr; }
    .agenda-list__item { grid-template-columns: 52px minmax(0,1fr); }
    .agenda-list__actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* =========================== CONTROLE DE ESTOQUE =========================== */
.estoque-main{display:grid;gap:18px}.estoque-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.estoque-card h2{margin-bottom:14px;font-size:1.15rem}.estoque-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.estoque-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.estoque-alert ul{margin-left:20px}.estoque-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.78rem;font-weight:800;text-decoration:none;cursor:pointer}.estoque-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.estoque-filtros{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.estoque-filtros label,.estoque-form label{display:grid;gap:6px;color:var(--admin-text);font-size:.78rem;font-weight:750}.estoque-filtros input,.estoque-filtros select,.estoque-form input,.estoque-form select,.estoque-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;background:#fff;font:inherit}.estoque-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.estoque-form textarea{min-height:110px;resize:vertical}.estoque-form__wide,.estoque-form__actions{grid-column:1/-1}.estoque-form__actions{display:flex;gap:10px}.estoque-check{display:flex!important;grid-column:1/-1;align-items:center}.estoque-check input{width:auto;min-height:0}.estoque-table-wrap{overflow-x:auto}.estoque-table{width:100%;border-collapse:collapse;font-size:.78rem}.estoque-table th,.estoque-table td{padding:11px 9px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle}.estoque-table th{color:var(--admin-muted);font-size:.68rem;text-transform:uppercase;white-space:nowrap}.estoque-thumb{display:grid;width:48px;height:48px;border-radius:7px;object-fit:cover;background:#eee;place-items:center}.estoque-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.65rem;font-weight:800;white-space:nowrap}.estoque-status--normal{color:#23603a;background:#e2f2e9}.estoque-status--baixo{color:#7a461e;background:#f8e6d2}.estoque-status--zerado{color:#6a625c;background:#eeeae7}.estoque-status--negativo{color:#842e26;background:#ffe3df}.estoque-actions{display:flex;gap:6px}.estoque-actions a{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);font-weight:800;text-decoration:none}.estoque-empty{padding:24px!important;text-align:center!important;color:var(--admin-muted)}.estoque-product{display:grid;grid-template-columns:180px 1fr;gap:22px}.estoque-product img{width:180px;height:150px;border-radius:10px;object-fit:cover}.estoque-product p{margin-bottom:10px}.estoque-resumo{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.estoque-resumo article{display:grid;gap:8px}.estoque-resumo small{color:var(--admin-muted)}.estoque-resumo strong{font-size:1.25rem}@media(max-width:850px){.estoque-filtros,.estoque-resumo{grid-template-columns:1fr 1fr}.estoque-filtros .estoque-button{width:100%}}@media(max-width:600px){.estoque-form,.estoque-filtros,.estoque-resumo,.estoque-product{grid-template-columns:1fr}.estoque-form__wide,.estoque-form__actions{grid-column:auto}.estoque-page .admin-header{grid-template-columns:auto 1fr}.estoque-page .admin-header>.estoque-button{grid-column:1/-1}.estoque-card{padding:14px}}

/* =========================== ACOMPANHAMENTO DE PROJETOS =========================== */
.projetos-page .admin-header{grid-template-columns:auto 1fr auto}.projetos-main{display:grid;gap:18px}.projetos-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.projetos-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.projetos-card__header h2{margin-top:2px;font-size:1.2rem}.projetos-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.projetos-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.projetos-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef;font-size:.84rem}.projetos-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.projetos-filters{display:grid;grid-template-columns:1.5fr repeat(3,1fr) repeat(2,.8fr);gap:12px;align-items:end}.projetos-filters label,.projetos-form label,.projetos-payment-form label{display:grid;gap:6px;color:var(--admin-text);font-size:.75rem;font-weight:750}.projetos-filters input,.projetos-filters select,.projetos-form input,.projetos-form select,.projetos-form textarea,.projetos-payment-form input,.projetos-inline-form select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.projetos-filter-actions,.projetos-form__actions,.projetos-actions,.projetos-inline-form{display:flex;flex-wrap:wrap;gap:7px}.projetos-filter-actions{grid-column:1/-1}.projetos-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.projetos-form textarea{min-height:110px;resize:vertical}.projetos-form__wide,.projetos-form__actions,.projetos-payment-form .projetos-form__wide{grid-column:1/-1}.projetos-value{display:grid;gap:5px;align-content:center;padding:12px;border-radius:8px;background:#f8f2ec}.projetos-value small,.projetos-detail-grid small,.projetos-finance small{color:var(--admin-muted);font-size:.7rem}.projetos-value strong{color:var(--admin-primary);font-size:1.1rem}.projetos-count{color:var(--admin-muted);font-size:.75rem}.projetos-list{display:grid;gap:10px}.projetos-item{display:grid;grid-template-columns:58px minmax(170px,1fr) minmax(330px,1.5fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #eee5dd;border-radius:9px}.projetos-item__date{display:grid;place-items:center;min-height:57px;border-radius:8px;color:#fff;background:var(--admin-primary)}.projetos-item__date strong{font-size:1.2rem;line-height:1}.projetos-item__date span{font-size:.61rem}.projetos-item__main small{color:var(--admin-muted);font-size:.68rem}.projetos-item__main h3{margin:3px 0 6px;font-size:.94rem}.projetos-status{display:inline-flex;padding:4px 8px;border-radius:999px;color:#7a461e;background:#f8e6d2;font-size:.62rem;font-weight:800}.projetos-item dl{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.projetos-item dl div{min-width:0}.projetos-item dt{color:var(--admin-muted);font-size:.62rem}.projetos-item dd{overflow:hidden;margin:3px 0 0;font-size:.72rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.projetos-actions a{padding:7px 9px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);font-size:.68rem;font-weight:800;text-decoration:none}.projetos-empty{padding:28px;text-align:center;color:var(--admin-muted)}.projetos-detail-grid,.projetos-finance{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.projetos-detail-grid article,.projetos-finance article{display:grid;gap:5px;padding:14px;border:1px solid #eee5dd;border-radius:9px}.projetos-detail-grid span{color:var(--admin-muted);font-size:.72rem}.projetos-finance strong{font-size:1.2rem}.projetos-finance .is-pending{border-color:#efc3a0;background:#fff8f0}.projetos-finance .is-paid{border-color:#a8d6b9;background:#eef9f2}.projetos-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px 0;border-top:1px solid #eee5dd}.projetos-detail-columns section{min-width:0}.projetos-detail-columns h3,.projetos-payments h3{margin-bottom:10px;font-size:.95rem}.projetos-detail-columns p{margin-bottom:18px;color:var(--admin-muted);font-size:.8rem;line-height:1.55}.projetos-payment-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.projetos-paid-message{padding:13px;border-radius:8px;color:#23603a!important;background:#eaf7ef}.projetos-payments{padding-top:18px;border-top:1px solid #eee5dd}.projetos-payment-list{display:grid;gap:8px}.projetos-payment-list article{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border:1px solid #eee5dd;border-radius:8px}.projetos-payment-list article>div{display:grid;gap:3px}.projetos-payment-list span,.projetos-payment-list small{color:var(--admin-muted);font-size:.72rem}
@media(max-width:1200px){.projetos-filters{grid-template-columns:repeat(3,1fr)}.projetos-item{grid-template-columns:58px 1fr auto}.projetos-item dl{grid-column:2/-1}.projetos-item>.projetos-actions{grid-column:3;grid-row:1}}
@media(max-width:720px){.projetos-page .admin-header{grid-template-columns:auto 1fr}.projetos-page .admin-header>.projetos-button{grid-column:1/-1;width:100%}.projetos-card{padding:14px}.projetos-card__header{align-items:flex-start;flex-direction:column}.projetos-filters,.projetos-form,.projetos-detail-grid,.projetos-finance,.projetos-detail-columns,.projetos-payment-form{grid-template-columns:1fr}.projetos-form__wide,.projetos-form__actions,.projetos-payment-form .projetos-form__wide{grid-column:auto}.projetos-item{grid-template-columns:50px 1fr}.projetos-item dl{grid-column:1/-1;grid-template-columns:1fr 1fr}.projetos-item>.projetos-actions{grid-column:1/-1;grid-row:auto}.projetos-payment-list article{grid-template-columns:1fr}.projetos-filter-actions .projetos-button{flex:1}}

/* Identificação do cliente nos cards de projetos */
.projeto-cliente {
    display: grid;
    min-width: 0;
    margin-bottom: 4px;
}

.projeto-cliente-label {
    color: var(--admin-muted);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.3;
    text-transform: uppercase;
}

.projeto-cliente-nome {
    color: var(--admin-text);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.projeto-pedido-referencia {
    display: block;
    color: var(--admin-muted);
    font-size: .68rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

@media(max-width:720px) {
    .projeto-cliente-nome,
    .projeto-pedido-referencia {
        white-space: normal;
    }
}

/* =========================== PEDIDOS DE VENDA =========================== */
.pedidos-main{display:grid;gap:18px}.pedidos-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.pedidos-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.pedidos-card__header h2,.pedidos-card__header h3{margin:0}.pedidos-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.pedidos-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.pedidos-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.pedidos-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.pedidos-alert ul{margin-left:20px}.pedidos-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.pedidos-form label,.pedidos-filtros label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.pedidos-form input,.pedidos-form select,.pedidos-filtros input,.pedidos-filtros select,.pedidos-table input,.pedidos-table select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.pedidos-form__wide,.pedidos-form__actions{grid-column:1/-1}.pedidos-form__actions{display:flex;gap:9px}.pedidos-gastos{display:grid;gap:5px;padding:13px;border-radius:8px;background:#f8f2ec}.pedidos-gastos small,.pedidos-help{color:var(--admin-muted);font-size:.72rem;line-height:1.5}.pedidos-totais,.pedidos-detail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.pedidos-totais article,.pedidos-detail article{display:grid;gap:5px;padding:13px;border:1px solid #eee5dd;border-radius:8px}.pedidos-totais small,.pedidos-detail small{color:var(--admin-muted);font-size:.68rem}.pedidos-totais strong{font-size:1rem}.pedidos-detail{margin-bottom:18px}.pedidos-detail strong{font-size:.78rem}.pedidos-filtros{display:grid;grid-template-columns:1.3fr repeat(4,1fr) auto;gap:11px;align-items:end}.pedidos-table-wrap{max-width:100%;overflow-x:auto}.pedidos-table{width:100%;border-collapse:collapse;font-size:.75rem}.pedidos-table th,.pedidos-table td{padding:10px 8px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle}.pedidos-table th{color:var(--admin-muted);font-size:.65rem;text-transform:uppercase;white-space:nowrap}.pedidos-table select{min-width:260px}.pedidos-table input{min-width:100px}.pedidos-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.64rem;font-weight:800;white-space:nowrap}.pedidos-status--orcamento,.pedidos-status--pendente{color:#7a461e;background:#f8e6d2}.pedidos-status--vendido,.pedidos-status--baixado{color:#23603a;background:#e2f2e9}.pedidos-actions{display:flex;flex-wrap:wrap;gap:6px}.pedidos-actions a,.pedidos-actions button,.pedidos-remove{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.68rem;font-weight:800;text-decoration:none;cursor:pointer}.pedidos-actions form{display:inline}.pedidos-remove{color:#a3342b}.pedidos-pagination{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.pedidos-pagination a{display:grid;width:34px;height:34px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);text-decoration:none;place-items:center}.pedidos-pagination a.is-active{color:#fff;background:var(--admin-primary)}
@media(max-width:1000px){.pedidos-filtros{grid-template-columns:repeat(3,1fr)}.pedidos-totais,.pedidos-detail{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.pedidos-page .admin-header{grid-template-columns:auto 1fr}.pedidos-page .admin-header>.pedidos-button{grid-column:1/-1;width:100%}.pedidos-card{padding:14px}.pedidos-card__header{align-items:flex-start;flex-direction:column}.pedidos-form,.pedidos-filtros,.pedidos-totais,.pedidos-detail{grid-template-columns:1fr}.pedidos-form__wide,.pedidos-form__actions{grid-column:auto}}

/* =========================== MODELOS DE PROJETO =========================== */
.modelos-page .admin-header{grid-template-columns:auto 1fr auto}.modelos-main{display:grid;gap:18px}.modelos-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.modelos-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.modelos-card__header h2{margin-top:2px;font-size:1.2rem}.modelos-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.modelos-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.modelos-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.modelos-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.modelos-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modelos-form label,.modelos-search label{display:grid;gap:6px;color:var(--admin-text);font-size:.78rem;font-weight:750}.modelos-form input,.modelos-form textarea,.modelos-search input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;background:#fff;font:inherit}.modelos-form input[type=checkbox]{width:auto;min-height:auto}.modelos-form textarea{min-height:130px;resize:vertical}.modelos-form small{color:var(--admin-muted)}.modelos-form__wide,.modelos-form__actions{grid-column:1/-1}.modelos-form__actions,.modelos-actions{display:flex;flex-wrap:wrap;gap:7px}.modelos-form fieldset{padding:14px;border:1px solid #e2d7cd;border-radius:8px}.modelos-form legend{padding:0 6px;font-size:.78rem;font-weight:800}.modelos-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.modelos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.modelo-item{display:grid;grid-template-rows:170px 1fr auto;overflow:hidden;border:1px solid #eee5dd;border-radius:10px;background:#fff}.modelo-item__image{display:grid;place-items:center;overflow:hidden;color:var(--admin-muted);background:#f1ece7;font-size:.75rem}.modelo-item__image img{width:100%;height:100%;object-fit:cover}.modelo-item>div:nth-child(2){padding:14px}.modelo-item h3{margin-bottom:7px;font-size:1rem}.modelo-item p{min-height:40px;color:var(--admin-muted);font-size:.75rem;line-height:1.45}.modelo-item small{color:var(--admin-muted);font-size:.66rem}.modelo-item__flags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.modelo-item__flags span{padding:4px 7px;border-radius:999px;color:#70401f;background:#f8e6d2;font-size:.62rem;font-weight:750}.modelo-item>.modelos-actions{padding:0 14px 14px}.modelos-actions a,.modelos-actions button{padding:7px 9px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.68rem;font-weight:800;text-decoration:none;cursor:pointer}.modelos-actions form button{color:#a3342b;border-color:#e0b1aa}.modelos-empty{padding:28px;text-align:center;color:var(--admin-muted)}.modelos-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:14px 0 22px}.modelos-gallery button{overflow:hidden;height:140px;padding:0;border:0;border-radius:8px;background:#eee;cursor:zoom-in}.modelos-gallery img{width:100%;height:140px;border-radius:8px;object-fit:cover}.modelos-photo-check{display:grid!important;gap:5px}.modelos-photo-check span{display:flex;gap:5px;align-items:center}.modelos-description{margin-bottom:18px;line-height:1.6}.modelos-documents{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.modelos-documents article{display:grid;gap:5px;padding:14px;border:1px solid #eee5dd;border-radius:8px}.modelos-documents small{color:var(--admin-muted)}.modelos-documents a{color:var(--admin-primary);font-weight:750}.modelos-pagination{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.modelos-pagination a{display:grid;width:34px;height:34px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);place-items:center;text-decoration:none}.modelos-pagination a.is-active{color:#fff;background:var(--admin-primary)}.modelo-photo-dialog{width:min(92vw,1000px);padding:45px 12px 12px;border:0;border-radius:10px;background:#17130f}.modelo-photo-dialog::backdrop{background:rgba(0,0,0,.78)}.modelo-photo-dialog img{display:block;max-width:100%;max-height:80vh;margin:auto;object-fit:contain}.modelo-photo-dialog button{position:absolute;top:7px;right:10px;border:0;color:#fff;background:transparent;font-size:1.8rem;cursor:pointer}
@media(max-width:980px){.modelos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.modelos-page .admin-header{grid-template-columns:auto 1fr}.modelos-page .admin-header>.modelos-button{grid-column:1/-1}.modelos-form,.modelos-search,.modelos-grid,.modelos-documents{grid-template-columns:1fr}.modelos-form__wide,.modelos-form__actions{grid-column:auto}.modelos-card{padding:14px}.modelos-card__header{align-items:flex-start;flex-direction:column}.modelo-item{grid-template-rows:150px 1fr auto}}

/* =========================== ENTRADAS DE ESTOQUE =========================== */
.entradas-main{display:grid;gap:18px}.entradas-opcoes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.entradas-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.entradas-card h2{margin-bottom:6px;font-size:1.15rem}.entradas-card>p{margin-bottom:16px;color:var(--admin-muted);font-size:.78rem}.entradas-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.entradas-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.entradas-alert ul{margin-left:20px}.entradas-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.entradas-form label,.entradas-upload label,.entradas-filtros label,.entradas-warning label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.entradas-form input,.entradas-form select,.entradas-form textarea,.entradas-upload input,.entradas-filtros input,.entradas-filtros select,.entradas-warning input,.entradas-table input,.entradas-table select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.entradas-form textarea{min-height:85px;resize:vertical}.entradas-form__wide{grid-column:1/-1}.entradas-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.entradas-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.entradas-upload{display:grid;gap:14px}.entradas-preview header{display:flex;align-items:center;justify-content:space-between;gap:12px}.entradas-preview dl{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.entradas-preview dl div{min-width:0;padding:11px;border-radius:8px;background:#f8f2ec}.entradas-preview dt{color:var(--admin-muted);font-size:.66rem}.entradas-preview dd{overflow-wrap:anywhere;font-size:.75rem;font-weight:750}.entradas-warning{display:grid;gap:8px;margin-bottom:14px;padding:14px;border:1px solid #e8c992;border-radius:8px;background:#fff9e9}.entradas-warning p,.entradas-match{font-size:.76rem}.entradas-match{margin-bottom:14px;color:#23603a}.entradas-table-wrap{max-width:100%;overflow-x:auto}.entradas-table{width:100%;border-collapse:collapse;font-size:.73rem}.entradas-table th,.entradas-table td{padding:10px 8px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:top}.entradas-table th{color:var(--admin-muted);font-size:.64rem;text-transform:uppercase;white-space:nowrap}.entradas-table td small{display:block;margin-top:5px;color:var(--admin-muted)}.entradas-table td small.is-error{color:#a3342b}.entradas-table td a{display:inline-block;margin-top:5px;color:var(--admin-primary);font-weight:750}.entradas-table select,.entradas-table input{min-width:170px;margin-bottom:5px}.entradas-actions,.entradas-cancel{display:inline-flex;margin-top:14px}.entradas-cancel{margin-left:7px}.entradas-filtros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;align-items:end}.entradas-tag{display:inline-flex;padding:5px 8px;border-radius:999px;color:#70401f;background:#f8e6d2;font-size:.62rem;font-weight:800}.entradas-pagination{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.entradas-pagination a{display:grid;width:34px;height:34px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);text-decoration:none;place-items:center}.entradas-pagination a.is-active{color:#fff;background:var(--admin-primary)}
@media(max-width:900px){.entradas-opcoes{grid-template-columns:1fr}.entradas-preview dl{grid-template-columns:1fr 1fr}}@media(max-width:650px){.entradas-card{padding:14px}.entradas-form,.entradas-filtros,.entradas-preview dl{grid-template-columns:1fr}.entradas-form__wide{grid-column:auto}.entradas-preview header{align-items:flex-start;flex-direction:column}.entradas-actions,.entradas-cancel{display:flex;margin:10px 0 0}.entradas-actions .entradas-button,.entradas-cancel .entradas-button{width:100%}}

/* =========================== PEDIDOS AUTOMÁTICOS DE COMPRA =========================== */
.compras-main{display:grid;gap:18px}.compras-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.compras-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef;font-size:.82rem}.compras-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.compras-filtros{display:grid;grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) auto auto;gap:12px;align-items:end}.compras-filtros label{display:grid;gap:6px;color:var(--admin-text);font-size:.78rem;font-weight:750}.compras-filtros input,.compras-filtros select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.compras-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.compras-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.compras-table-wrap{max-width:100%;overflow-x:auto}.compras-table{width:100%;border-collapse:collapse;font-size:.76rem}.compras-table th,.compras-table td{padding:12px 10px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle}.compras-table th{color:var(--admin-muted);font-size:.65rem;text-transform:uppercase;white-space:nowrap}.compras-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.65rem;font-weight:850;text-transform:capitalize;white-space:nowrap}.compras-status--pendente{color:#7a461e;background:#f8e6d2}.compras-status--comprado{color:#23603a;background:#e2f2e9}.compras-empty{padding:32px!important;color:var(--admin-muted);text-align:center!important}
@media(max-width:720px){.compras-filtros{grid-template-columns:1fr 1fr}.compras-filtros label:first-child{grid-column:1/-1}.compras-button{width:100%}.compras-table,.compras-table tbody,.compras-table tr,.compras-table td{display:block;width:100%}.compras-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.compras-table tbody{display:grid;gap:12px}.compras-table tr{padding:12px;border:1px solid #eee5dd;border-radius:9px}.compras-table td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;padding:8px 0;border:0;overflow-wrap:anywhere}.compras-table td::before{content:attr(data-label);color:var(--admin-muted);font-size:.64rem;font-weight:800;text-transform:uppercase}.compras-table .compras-empty{display:block}.compras-table .compras-empty::before{display:none}}
@media(max-width:460px){.compras-card{padding:14px}.compras-filtros{grid-template-columns:1fr}.compras-filtros label:first-child{grid-column:auto}.compras-table td{grid-template-columns:94px minmax(0,1fr)}}

/* =========================== FORNECEDORES =========================== */
.fornecedores-page .admin-header{grid-template-columns:auto 1fr auto}.fornecedores-main{display:grid;gap:18px}.fornecedores-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.fornecedores-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.fornecedores-card__header h2{margin:0;font-size:1.15rem}.fornecedores-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.fornecedores-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.fornecedores-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.fornecedores-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.fornecedores-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fornecedores-form label,.fornecedores-search label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.fornecedores-form input,.fornecedores-search input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.fornecedores-form input[aria-invalid=true]{border-color:#b33c32}.fornecedores-form__wide,.fornecedores-form__actions{grid-column:1/-1}.fornecedores-form__actions{display:flex;gap:8px}.fornecedores-field-error{color:#a3342b;font-size:.68rem}.fornecedores-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.fornecedores-list{display:grid}.fornecedores-list__head,.fornecedores-item{display:grid;grid-template-columns:1.4fr 1.1fr 1fr .9fr 1.3fr auto;gap:12px;align-items:center}.fornecedores-list__head{padding:0 10px 9px;color:var(--admin-muted);font-size:.64rem;font-weight:800;text-transform:uppercase}.fornecedores-item{padding:13px 10px;border-top:1px solid #eee5dd;font-size:.74rem}.fornecedores-item>div{min-width:0;overflow-wrap:anywhere}.fornecedores-actions{display:flex;flex-wrap:wrap;gap:6px}.fornecedores-actions a,.fornecedores-actions button{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.67rem;font-weight:800;text-decoration:none;cursor:pointer}.fornecedores-actions button{color:#a3342b;border-color:#e0b1aa}.fornecedores-empty{padding:34px;text-align:center;color:var(--admin-muted)}.fornecedores-empty p{margin-top:5px;font-size:.75rem}.fornecedores-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fornecedores-detail div{padding:13px;border-radius:8px;background:#f8f2ec}.fornecedores-detail dt{color:var(--admin-muted);font-size:.66rem}.fornecedores-detail dd{margin-top:4px;overflow-wrap:anywhere;font-size:.78rem;font-weight:750}.fornecedores-pagination{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.fornecedores-pagination a{display:grid;width:34px;height:34px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);text-decoration:none;place-items:center}.fornecedores-pagination a.is-active{color:#fff;background:var(--admin-primary)}
@media(max-width:1000px){.fornecedores-list__head{display:none}.fornecedores-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fornecedores-item{display:grid;grid-template-columns:1fr;padding:14px;border:1px solid #eee5dd;border-radius:9px}.fornecedores-item>div{display:grid;grid-template-columns:105px 1fr;gap:8px}.fornecedores-item>div::before{content:attr(data-label);color:var(--admin-muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.fornecedores-actions{display:flex!important;grid-template-columns:none!important;margin-top:5px}.fornecedores-actions::before{display:none}}
@media(max-width:650px){.fornecedores-page .admin-header{grid-template-columns:auto 1fr}.fornecedores-page .admin-header>.fornecedores-button{grid-column:1/-1;width:100%}.fornecedores-card{padding:14px}.fornecedores-card__header{align-items:flex-start;flex-direction:column}.fornecedores-form,.fornecedores-search,.fornecedores-list,.fornecedores-detail{grid-template-columns:1fr}.fornecedores-form__wide,.fornecedores-form__actions{grid-column:auto}.fornecedores-search .fornecedores-button{width:100%}.fornecedores-item>div{grid-template-columns:92px minmax(0,1fr)}}

/* =========================== CATEGORIAS FINANCEIRAS =========================== */
.categorias-page .admin-header{grid-template-columns:auto 1fr auto}.categorias-page .admin-header p{margin-top:4px;color:var(--admin-muted);font-size:.76rem}.categorias-main{display:grid;gap:18px}.categorias-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.categorias-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.categorias-card__header h2{margin-top:2px;font-size:1.15rem}.categorias-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.categorias-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.categorias-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.categorias-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.categorias-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.categorias-form label,.categorias-search label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.categorias-form input,.categorias-form select,.categorias-search input,.categorias-search select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.categorias-form [aria-invalid=true]{border-color:#b33c32}.categorias-form small{color:#a3342b;font-size:.68rem}.categorias-form__actions{display:flex;grid-column:1/-1}.categorias-search{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto auto;gap:10px;align-items:end}.categorias-count{color:var(--admin-muted);font-size:.72rem}.categorias-table-wrap{max-width:100%;overflow-x:auto}.categorias-table{width:100%;border-collapse:collapse;font-size:.76rem}.categorias-table th,.categorias-table td{padding:12px 10px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle}.categorias-table th{color:var(--admin-muted);font-size:.66rem;text-transform:uppercase}.categorias-tag{display:inline-flex;padding:5px 8px;border-radius:999px;color:#70401f;background:#f8e6d2;font-size:.64rem;font-weight:800}.categorias-actions{display:flex;flex-wrap:wrap;gap:6px}.categorias-actions a,.categorias-actions button{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.67rem;font-weight:800;text-decoration:none;cursor:pointer}.categorias-actions button{color:#a3342b;border-color:#e0b1aa}.categorias-empty{padding:32px!important;color:var(--admin-muted);text-align:center!important}
@media(max-width:760px){.categorias-page .admin-header{grid-template-columns:auto 1fr}.categorias-page .admin-header>.categorias-button{grid-column:1/-1;width:100%}.categorias-card{padding:14px}.categorias-card__header{align-items:flex-start;flex-direction:column}.categorias-form,.categorias-search{grid-template-columns:1fr}.categorias-form__actions{grid-column:auto}.categorias-search .categorias-button{width:100%}.categorias-table{min-width:600px}}

/* Cadastro de ajudantes */
.ajudantes-main{display:grid;gap:18px}.ajudantes-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.ajudantes-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.ajudantes-card__header h2{margin-top:2px;font-size:1.2rem}.ajudantes-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.ajudantes-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.ajudantes-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ajudantes-form label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.ajudantes-form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.ajudantes-form input:focus{border-color:#c77738;outline:0;box-shadow:0 0 0 3px rgba(199,119,56,.13)}.ajudantes-form input[aria-invalid=true]{border-color:#b33c32}.ajudantes-form small{color:#a3342b;font-size:.68rem}.ajudantes-form__actions{display:flex;grid-column:1/-1;gap:8px}.ajudantes-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.ajudantes-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.ajudantes-table-wrap{overflow-x:auto}.ajudantes-table{width:100%;border-collapse:collapse;font-size:.76rem}.ajudantes-table th,.ajudantes-table td{padding:12px 10px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.ajudantes-table th{color:var(--admin-muted);font-size:.66rem;text-transform:uppercase;white-space:nowrap}.ajudantes-actions{display:flex;flex-wrap:wrap;gap:6px}.ajudantes-actions a,.ajudantes-actions button{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.67rem;font-weight:800;text-decoration:none;cursor:pointer}.ajudantes-actions button{color:#a3342b;border-color:#e0b1aa}.ajudantes-empty{padding:30px!important;color:var(--admin-muted);text-align:center!important}
@media(max-width:650px){.ajudantes-page .admin-header{grid-template-columns:auto 1fr}.ajudantes-card{padding:14px}.ajudantes-card__header{align-items:flex-start;flex-direction:column}.ajudantes-form{grid-template-columns:1fr}.ajudantes-form__actions{grid-column:auto}.ajudantes-table{min-width:680px}}

/* Cadastro de funcionários */
.funcionarios-page .admin-header{grid-template-columns:auto 1fr auto}.funcionarios-page .admin-header p{margin-top:4px;color:var(--admin-muted);font-size:.76rem}.funcionarios-main{display:grid;gap:18px}.funcionarios-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.funcionarios-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.funcionarios-card__header h2{margin-top:2px;font-size:1.2rem}.funcionarios-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.funcionarios-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.funcionarios-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.funcionarios-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.funcionarios-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.funcionarios-form label,.funcionarios-search label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.funcionarios-form input,.funcionarios-search input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.funcionarios-form input:focus,.funcionarios-search input:focus{border-color:#c77738;outline:0;box-shadow:0 0 0 3px rgba(199,119,56,.13)}.funcionarios-form input[aria-invalid=true]{border-color:#b33c32}.funcionarios-form small{color:#a3342b;font-size:.68rem}.funcionarios-field-help{color:var(--admin-muted);font-size:.67rem;font-weight:400}.funcionarios-form__actions{display:flex;grid-column:1/-1;gap:8px}.funcionarios-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end}.funcionarios-count{color:var(--admin-muted);font-size:.72rem}.funcionarios-table-wrap{overflow-x:auto}.funcionarios-table{width:100%;border-collapse:collapse;font-size:.76rem}.funcionarios-table th,.funcionarios-table td{padding:12px 10px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.funcionarios-table th{color:var(--admin-muted);font-size:.66rem;text-transform:uppercase;white-space:nowrap}.funcionarios-actions{display:flex;flex-wrap:wrap;gap:6px}.funcionarios-actions a,.funcionarios-actions button{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.67rem;font-weight:800;text-decoration:none;cursor:pointer}.funcionarios-actions button{color:#a3342b;border-color:#e0b1aa}.funcionarios-empty{padding:30px!important;color:var(--admin-muted);text-align:center!important}
@media(max-width:650px){.funcionarios-page .admin-header{grid-template-columns:auto 1fr}.funcionarios-page .admin-header>.funcionarios-button{grid-column:1/-1;width:100%}.funcionarios-card{padding:14px}.funcionarios-card__header{align-items:flex-start;flex-direction:column}.funcionarios-form,.funcionarios-search{grid-template-columns:1fr}.funcionarios-form__actions{grid-column:auto}.funcionarios-search .funcionarios-button{width:100%}.funcionarios-table{min-width:680px}}

/* Cadastro de gastos fixos */
.gastos-page .admin-header{grid-template-columns:auto 1fr auto}.gastos-page .admin-header p{margin-top:4px;color:var(--admin-muted);font-size:.76rem}.gastos-main{display:grid;gap:18px}.gastos-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.gastos-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.gastos-card__header h2{margin-top:2px;font-size:1.2rem}.gastos-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.gastos-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.gastos-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.gastos-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.gastos-form{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px}.gastos-form label{display:grid;align-content:start;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.gastos-form input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.gastos-form input:focus{border-color:#c77738;outline:0;box-shadow:0 0 0 3px rgba(199,119,56,.13)}.gastos-form input[aria-invalid=true]{border-color:#b33c32}.gastos-form small{color:#a3342b;font-size:.68rem}.gastos-field-help{color:var(--admin-muted);font-size:.67rem;font-weight:400}.gastos-form__actions{display:flex;grid-column:1/-1}.gastos-total{display:grid;gap:4px;padding:22px;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--admin-primary),#9b552c);box-shadow:0 12px 30px rgba(91,49,29,.2)}.gastos-total span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.gastos-total strong{font-size:clamp(1.65rem,4vw,2.35rem)}.gastos-total small{color:rgba(255,255,255,.8)}.gastos-table-wrap{max-width:100%;overflow-x:auto}.gastos-table{width:100%;border-collapse:collapse;font-size:.76rem}.gastos-table th,.gastos-table td{padding:12px 10px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.gastos-table th{color:var(--admin-muted);font-size:.66rem;text-transform:uppercase;white-space:nowrap}.gastos-actions{display:flex;flex-wrap:wrap;gap:6px}.gastos-actions a,.gastos-actions button{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.67rem;font-weight:800;text-decoration:none;cursor:pointer}.gastos-actions button{color:#a3342b;border-color:#e0b1aa}.gastos-empty{padding:32px!important;color:var(--admin-muted);text-align:center!important}
@media(max-width:760px){.gastos-page .admin-header{grid-template-columns:auto 1fr}.gastos-page .admin-header>.gastos-button{grid-column:1/-1;width:100%}.gastos-card{padding:14px}.gastos-card__header{align-items:flex-start;flex-direction:column}.gastos-form{grid-template-columns:1fr}.gastos-form__actions{grid-column:auto}.gastos-table{min-width:580px}}

/* Registro de ponto e administração de usuários */
.ponto-main,.usuarios-main{width:min(100%,1440px);margin:0 auto;padding:clamp(1rem,3vw,2rem)}
.ponto-card,.usuarios-card{background:var(--admin-surface,#fff);border:1px solid var(--admin-border,#e4ded4);border-radius:18px;padding:clamp(1rem,3vw,1.75rem);margin-bottom:1.5rem;box-shadow:0 10px 30px rgba(43,32,20,.06)}
.ponto-card>header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.ponto-destaque{border-left:5px solid var(--admin-accent,#9b6b36)}
.ponto-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.ponto-resumo div{background:#f6f2ec;border-radius:12px;padding:1rem}.ponto-resumo small,.ponto-resumo strong{display:block}.ponto-resumo strong{font-size:1.2rem;margin-top:.35rem}
.ponto-marcar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ponto-marcar button,.ponto-filtros button{border:0;border-radius:9px;background:#704b27;color:#fff;padding:.75rem 1rem;font-weight:700;cursor:pointer}.ponto-marcar button:disabled{opacity:.55}.ponto-alert{padding:.85rem 1rem;border-radius:10px;background:#e5f4e9;color:#205c32;margin-bottom:1rem}.ponto-alert--erro{background:#fde9e7;color:#8c2921}.ponto-filtros,.usuarios-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end;margin-bottom:1.25rem}.ponto-filtros label,.usuarios-form label{display:grid;gap:.4rem;font-weight:600}.ponto-filtros input,.ponto-filtros select,.usuarios-form input,.usuarios-form select{width:100%;padding:.7rem;border:1px solid #cfc7bb;border-radius:8px;background:#fff}.ponto-tabela-wrap{overflow-x:auto}.ponto-tabela{width:100%;border-collapse:collapse;min-width:1050px}.ponto-tabela th,.ponto-tabela td{text-align:left;padding:.8rem;border-bottom:1px solid #e8e2d9;vertical-align:top}.ponto-status{white-space:nowrap;font-weight:700}.ponto-status--finalizado{color:#287444}.ponto-status--em-andamento{color:#956516}.ponto-status--inconsistente{color:#a42c25}.ponto-link{color:inherit}.usuarios-main{padding-top:2rem}.usuarios-form>div{display:flex;gap:1rem;align-items:center}
@media(max-width:800px){.ponto-filtros,.usuarios-form{grid-template-columns:1fr 1fr}.ponto-resumo{grid-template-columns:1fr}.ponto-card>header{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.ponto-filtros,.usuarios-form{grid-template-columns:1fr}.ponto-main,.usuarios-main{padding:.75rem}.ponto-card,.usuarios-card{border-radius:12px;padding:1rem}}

/* Saídas manuais do estoque */
.saida-manual-main{display:grid;gap:18px}.saida-manual-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.saida-manual-card>header{margin-bottom:18px}.saida-manual-card h2{font-size:1.15rem}.saida-manual-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.saida-manual-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.saida-manual-alert ul{margin:0;padding-left:18px}.saida-manual-form{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:15px}.saida-manual-form label,.saida-manual-filtros label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.saida-manual-form input,.saida-manual-form select,.saida-manual-filtros input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.saida-manual-form input:focus,.saida-manual-form select:focus,.saida-manual-filtros input:focus{border-color:#c77738;outline:0;box-shadow:0 0 0 3px rgba(199,119,56,.13)}.saida-manual-produto{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:8px 22px;padding:12px;border-radius:8px;color:var(--admin-muted);background:#f8f2ec;font-size:.74rem}.saida-manual-produto strong{color:var(--admin-text)}.saida-manual-form__actions{display:flex;grid-column:1/-1;gap:8px}.saida-manual-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.76rem;font-weight:800;text-decoration:none;cursor:pointer}.saida-manual-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.saida-manual-filtros{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto auto;gap:10px;align-items:end;margin:16px 0}.saida-manual-table-wrap{max-width:100%;overflow-x:auto}.saida-manual-table{width:100%;border-collapse:collapse;font-size:.76rem}.saida-manual-table th,.saida-manual-table td{padding:12px 10px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.saida-manual-table th{color:var(--admin-muted);font-size:.66rem;text-transform:uppercase;white-space:nowrap}.saida-manual-actions{display:flex;flex-wrap:wrap;gap:6px}.saida-manual-actions a,.saida-manual-actions button{padding:6px 8px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.67rem;font-weight:800;text-decoration:none;cursor:pointer}.saida-manual-actions button{color:#a3342b;border-color:#e0b1aa}.saida-manual-empty{padding:30px!important;color:var(--admin-muted);text-align:center!important}.saida-manual-pagination{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.saida-manual-pagination a{display:grid;width:34px;height:34px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);text-decoration:none;place-items:center}.saida-manual-pagination a.is-active{color:#fff;background:var(--admin-primary)}
@media(max-width:1050px){.saida-manual-filtros{grid-template-columns:repeat(3,minmax(0,1fr))}.saida-manual-form{grid-template-columns:1fr 1fr}.saida-manual-form label:first-of-type{grid-column:1/-1}}
@media(max-width:650px){.saida-manual-card{padding:14px}.saida-manual-form,.saida-manual-filtros{grid-template-columns:1fr}.saida-manual-form label:first-of-type,.saida-manual-produto,.saida-manual-form__actions{grid-column:auto}.saida-manual-form__actions{flex-direction:column}.saida-manual-filtros .saida-manual-button{width:100%}.saida-manual-table{min-width:720px}}

/* Fluxo da página de administração de usuários */
.usuarios-page {
    --usuarios-menu-clearance: 142px;
}

.usuarios-page .usuarios-main {
    flex: 1 0 auto;
    padding-top: var(--usuarios-menu-clearance);
    padding-bottom: clamp(1.5rem, 4vw, 3rem);
}

.usuarios-page .usuarios-card:last-child {
    margin-bottom: 0;
}

.usuarios-page .usuarios-card h1,
.usuarios-page .usuarios-card h2 {
    margin-bottom: 1.25rem;
}

@media (max-width: 860px) {
    .usuarios-page {
        --usuarios-menu-clearance: 112px;
    }
}

@media (max-width: 520px) {
    .usuarios-page .usuarios-main {
        padding-top: var(--usuarios-menu-clearance);
        padding-bottom: 1.25rem;
    }
}

/* Ações da tabela de usuários */
.usuarios-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.usuarios-actions form{margin:0}.usuarios-actions .btn-editar,.usuarios-actions .btn-excluir{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.45rem .75rem;border:1px solid #cfc7bb;border-radius:8px;background:#fff;color:#704b27;font:inherit;font-size:.75rem;font-weight:700;line-height:1;text-decoration:none;cursor:pointer}.usuarios-actions .btn-excluir{border-color:#d99b95;background:#fff3f1;color:#9b2f27}.usuarios-actions .btn-excluir:hover,.usuarios-actions .btn-excluir:focus-visible{border-color:#9b2f27;background:#9b2f27;color:#fff}.usuarios-actions .btn-editar:hover,.usuarios-actions .btn-editar:focus-visible{border-color:#704b27;background:#704b27;color:#fff}.usuarios-actions .btn-editar:focus-visible,.usuarios-actions .btn-excluir:focus-visible{outline:3px solid rgba(112,75,39,.22);outline-offset:2px}
@media(max-width:520px){.usuarios-actions{align-items:stretch;flex-direction:column}.usuarios-actions form,.usuarios-actions .btn-editar,.usuarios-actions .btn-excluir{width:100%}}

/* Saldos financeiros do estoque */
.saldo-main{display:grid;gap:18px}.saldo-resumo-principal{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(22px,4vw,34px);border-radius:15px;color:#fff;background:linear-gradient(135deg,var(--admin-primary),#9b552c);box-shadow:0 14px 34px rgba(91,49,29,.22)}.saldo-resumo-principal span,.saldo-resumo-principal strong{display:block}.saldo-resumo-principal span{margin-bottom:7px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.saldo-resumo-principal .saldo-valor{font-size:clamp(1.8rem,5vw,2.8rem)}.saldo-resumo-principal svg{width:54px;height:54px;fill:currentColor;opacity:.72}.saldo-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.saldo-tipo-card{display:flex;min-width:0;align-items:flex-start;gap:13px;padding:18px;border:1px solid var(--admin-line);border-radius:12px;background:var(--admin-card);box-shadow:0 8px 22px rgba(61,42,28,.06)}.saldo-tipo-card>svg{flex:0 0 auto;width:34px;height:34px;padding:7px;border-radius:8px;fill:var(--admin-primary);background:#f8e7d7}.saldo-tipo-card h2{margin:0 0 7px;font-size:.82rem}.saldo-tipo-card .saldo-valor{display:block;color:var(--admin-primary);font-size:1.22rem}.saldo-tipo-card small{display:block;margin-top:6px;color:var(--admin-muted);font-size:.67rem}.saldo-detalhes{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.saldo-detalhes>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.saldo-detalhes>header h2{font-size:1.2rem}.saldo-detalhes>header>span{color:var(--admin-muted);font-size:.72rem}.saldo-tabela-wrap{max-width:100%;overflow-x:auto}.saldo-tabela{width:100%;border-collapse:collapse;font-size:.76rem}.saldo-tabela th,.saldo-tabela td{padding:12px 10px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:middle}.saldo-tabela th{color:var(--admin-muted);font-size:.66rem;text-transform:uppercase;white-space:nowrap}.saldo-tabela td small{display:block;margin-top:3px;color:var(--admin-muted)}.saldo-tabela tfoot th,.saldo-tabela tfoot td{border-bottom:0;color:var(--admin-primary);background:#fbf5ef}.saldo-monetario{white-space:nowrap}.saldo-vazio{padding:34px!important;color:var(--admin-muted);text-align:center!important}.saldo-mensagem{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.saldo-mensagem--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}
@media(max-width:980px){.saldo-grade{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.saldo-grade{grid-template-columns:1fr}.saldo-resumo-principal svg{display:none}.saldo-detalhes{padding:14px}.saldo-detalhes>header{align-items:flex-start;flex-direction:column}.saldo-tabela{min-width:760px}}

/* Fluxo de caixa e movimentações financeiras */
.movimentacoes-main{display:grid;gap:18px}.movimentacoes-card{min-width:0;padding:20px;border:1px solid var(--admin-line);border-radius:13px;background:var(--admin-card);box-shadow:0 10px 28px rgba(61,42,28,.07)}.movimentacoes-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.movimentacoes-card h2{margin:2px 0 0;font-size:1.18rem}.movimentacoes-card>header>span{color:var(--admin-muted);font-size:.72rem}.movimentacoes-alert{padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.movimentacoes-alert--erro{border-color:#e9b4ac;color:#842e26;background:#fff0ed}.movimentacoes-alert ul{margin:0;padding-left:18px}.movimentacoes-resumo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.movimentacoes-resumo article{display:grid;gap:7px;padding:17px;border:1px solid var(--admin-line);border-radius:11px;background:#fff}.movimentacoes-resumo article span{color:var(--admin-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.movimentacoes-resumo article strong{color:var(--admin-primary);font-size:1.12rem}.movimentacoes-resumo .is-saldo{color:#fff;border:0;background:linear-gradient(135deg,var(--admin-primary),#9b552c)}.movimentacoes-resumo .is-saldo span,.movimentacoes-resumo .is-saldo strong{color:#fff}.movimentacoes-resumo .is-negativo{background:linear-gradient(135deg,#92372f,#c45448)}.movimentacoes-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.movimentacoes-form label,.movimentacoes-filtros label{display:grid;align-content:start;gap:6px;color:var(--admin-text);font-size:.75rem;font-weight:750}.movimentacoes-form input,.movimentacoes-form select,.movimentacoes-form textarea,.movimentacoes-filtros input,.movimentacoes-filtros select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.movimentacoes-form textarea{min-height:86px;resize:vertical}.movimentacoes-form small{color:var(--admin-muted);font-size:.65rem}.movimentacoes-form__wide,.movimentacoes-form__actions,.movimentacoes-previa{grid-column:1/-1}.movimentacoes-subgrade{display:grid;grid-template-columns:1fr 1fr;gap:14px}.movimentacoes-subgrade[hidden],#movimentacao-data-wrap[hidden],.movimentacoes-previa[hidden]{display:none}.movimentacoes-previa{padding:15px;border-radius:9px;background:#f8f2ec}.movimentacoes-previa h3{margin:0 0 10px;font-size:.88rem}.movimentacoes-previa ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 22px;margin:0;padding-left:22px;font-size:.72rem}.movimentacoes-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:0;border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.75rem;font-weight:800;text-decoration:none;cursor:pointer}.movimentacoes-button--secondary{border:1px solid #d6c8bc;color:var(--admin-primary);background:#fff}.movimentacoes-filtros{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:11px;align-items:end}.movimentacoes-table-wrap{max-width:100%;overflow-x:auto}.movimentacoes-table{width:100%;border-collapse:collapse;font-size:.73rem}.movimentacoes-table th,.movimentacoes-table td{padding:12px 9px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:top}.movimentacoes-table th{color:var(--admin-muted);font-size:.63rem;text-transform:uppercase;white-space:nowrap}.movimentacoes-table td>strong,.movimentacoes-table td>small{display:block;margin-top:4px}.movimentacoes-natureza,.movimentacoes-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.61rem;font-weight:850}.movimentacoes-natureza.is-entrada,.movimentacoes-status.is-confirmado{color:#23603a;background:#e2f2e9}.movimentacoes-natureza.is-saida,.movimentacoes-status.is-pendente{color:#7a461e;background:#f8e6d2}.movimentacoes-actions{display:flex;flex-wrap:wrap;gap:5px}.movimentacoes-actions form{margin:0}.movimentacoes-actions a,.movimentacoes-actions button{padding:6px 7px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);background:#fff;font:inherit;font-size:.63rem;font-weight:800;text-decoration:none;cursor:pointer}.movimentacoes-actions .is-danger{color:#a3342b;border-color:#e0b1aa}.movimentacoes-empty{padding:32px!important;color:var(--admin-muted);text-align:center!important}.movimentacoes-pagination{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.movimentacoes-pagination a{display:grid;width:34px;height:34px;border:1px solid #d8ccc1;border-radius:6px;color:var(--admin-primary);text-decoration:none;place-items:center}.movimentacoes-pagination a.is-active{color:#fff;background:var(--admin-primary)}
@media(max-width:1050px){.movimentacoes-resumo{grid-template-columns:repeat(3,minmax(0,1fr))}.movimentacoes-filtros{grid-template-columns:repeat(3,minmax(0,1fr))}.movimentacoes-previa ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.movimentacoes-resumo,.movimentacoes-form,.movimentacoes-subgrade,.movimentacoes-filtros{grid-template-columns:1fr}.movimentacoes-form__wide,.movimentacoes-form__actions,.movimentacoes-previa{grid-column:auto}.movimentacoes-card{padding:14px}.movimentacoes-card>header{align-items:flex-start;flex-direction:column}.movimentacoes-previa ol{grid-template-columns:1fr}.movimentacoes-table,.movimentacoes-table tbody,.movimentacoes-table tr,.movimentacoes-table td{display:block;width:100%}.movimentacoes-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.movimentacoes-table tbody{display:grid;gap:12px}.movimentacoes-table tr{padding:10px;border:1px solid #eee5dd;border-radius:9px}.movimentacoes-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:7px 0;border:0;overflow-wrap:anywhere}.movimentacoes-table td::before{content:attr(data-label);color:var(--admin-muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.movimentacoes-empty{display:block!important}.movimentacoes-empty::before{display:none}}

/* Cadastro de projetos (fluxo administrativo legado) */
.cadastro-projetos-page{--cadastro-projeto-primary:#704b27;--cadastro-projeto-accent:#c77738;--cadastro-projeto-text:#35291f;--cadastro-projeto-muted:#77695d;--cadastro-projeto-line:#e2d8ce;--cadastro-projeto-surface:#fff;--cadastro-projeto-soft:#f8f3ed;background:#f4f0ea;color:var(--cadastro-projeto-text)}
.cadastro-projetos-main{display:grid;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(124px,14vw,155px) 0 clamp(40px,7vw,72px);gap:22px}
.cadastro-projetos-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(20px,3vw,30px);border:1px solid var(--cadastro-projeto-line);border-radius:18px;background:var(--cadastro-projeto-surface);box-shadow:0 12px 32px rgba(61,42,28,.07)}
.cadastro-projetos-hero__icon{display:grid;width:58px;height:58px;border-radius:15px;color:#fff;background:var(--cadastro-projeto-primary);place-items:center}.cadastro-projetos-hero__icon svg{width:31px;height:31px;fill:currentColor}
.cadastro-projetos-hero__text span,.cadastro-projetos-card__header span{display:block;margin-bottom:4px;color:var(--cadastro-projeto-accent);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.cadastro-projetos-hero h1{margin:0;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15}.cadastro-projetos-hero p{max-width:680px;margin:7px 0 0;color:var(--cadastro-projeto-muted);font-size:.92rem;line-height:1.55}
.cadastro-projetos-alert{padding:14px 17px;border:1px solid;border-radius:10px;font-size:.88rem;font-weight:650}.cadastro-projetos-alert--success{border-color:#a8d6b9;color:#23603a;background:#eaf7ef}.cadastro-projetos-alert--error{border-color:#e9b4ac;color:#842e26;background:#fff0ed}
.cadastro-projetos-card{min-width:0;padding:clamp(18px,3vw,28px);border:1px solid var(--cadastro-projeto-line);border-radius:18px;background:var(--cadastro-projeto-surface);box-shadow:0 10px 28px rgba(61,42,28,.065)}
.cadastro-projetos-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #eee6df}.cadastro-projetos-card__header h2{margin:0;font-size:1.28rem}.cadastro-projetos-card__header p{margin:4px 0 0;color:var(--cadastro-projeto-muted);font-size:.75rem}.cadastro-projetos-card__header--list{align-items:center}.cadastro-projetos-count{padding:6px 10px;border-radius:999px;color:var(--cadastro-projeto-primary);background:#f4e8dc;font-size:.69rem;white-space:nowrap}
.cadastro-projetos-form{display:grid;gap:22px}.cadastro-projetos-section{min-width:0;margin:0;padding:0;border:0}.cadastro-projetos-section+ .cadastro-projetos-section{padding-top:22px;border-top:1px solid #eee6df}.cadastro-projetos-section legend{width:100%;margin:0 0 15px;padding:0;color:var(--cadastro-projeto-primary);font-size:.86rem;font-weight:850}.cadastro-projetos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cadastro-projetos-field{display:grid;align-content:start;gap:7px;min-width:0}.cadastro-projetos-field--wide{grid-column:span 2}.cadastro-projetos-field--full{grid-column:1/-1}.cadastro-projetos-field label,.cadastro-projetos-filter label{color:var(--cadastro-projeto-text);font-size:.76rem;font-weight:750}.cadastro-projetos-field label span{color:#a3342b}.cadastro-projetos-field input,.cadastro-projetos-field select,.cadastro-projetos-field textarea,.cadastro-projetos-filter input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d7cbc0;border-radius:8px;color:var(--cadastro-projeto-text);background:#fff;font:inherit;font-size:.86rem;transition:border-color .15s,box-shadow .15s,background .15s}.cadastro-projetos-field textarea{min-height:112px;resize:vertical;line-height:1.5}.cadastro-projetos-field input::placeholder,.cadastro-projetos-field textarea::placeholder,.cadastro-projetos-filter input::placeholder{color:#a3978c}.cadastro-projetos-field input:focus,.cadastro-projetos-field select:focus,.cadastro-projetos-field textarea:focus,.cadastro-projetos-filter input:focus{border-color:var(--cadastro-projeto-accent);outline:0;box-shadow:0 0 0 3px rgba(199,119,56,.14)}.cadastro-projetos-field input:disabled,.cadastro-projetos-field select:disabled{color:#8c8278;background:#eeeae5;cursor:not-allowed}.cadastro-projetos-field input:not(:placeholder-shown),.cadastro-projetos-field textarea:not(:placeholder-shown){background:#fffdfb}.cadastro-projetos-field small{color:var(--cadastro-projeto-muted);font-size:.67rem;line-height:1.4}
.cadastro-projetos-form__actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:2px}.cadastro-projetos-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid var(--cadastro-projeto-primary);border-radius:8px;color:#fff;background:var(--cadastro-projeto-primary);font:inherit;font-size:.78rem;font-weight:800;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.cadastro-projetos-button:hover{border-color:#57391d;background:#57391d;transform:translateY(-1px)}.cadastro-projetos-button:focus-visible{outline:3px solid rgba(112,75,39,.25);outline-offset:2px}.cadastro-projetos-button:disabled{opacity:.65;cursor:wait;transform:none}.cadastro-projetos-button.is-loading::before{width:14px;height:14px;margin-right:8px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;content:"";animation:cadastro-projeto-spin .7s linear infinite}.cadastro-projetos-button--secondary{border-color:#d4c6ba;color:var(--cadastro-projeto-primary);background:#fff}.cadastro-projetos-button--secondary:hover{border-color:var(--cadastro-projeto-primary);color:#fff;background:var(--cadastro-projeto-primary)}
.cadastro-projetos-filter{display:grid;max-width:590px;gap:7px;margin-bottom:20px}.cadastro-projetos-filter>div{display:flex}.cadastro-projetos-filter input{border-radius:8px 0 0 8px}.cadastro-projetos-filter button{min-width:74px;border:1px solid #d7cbc0;border-left:0;border-radius:0 8px 8px 0;color:var(--cadastro-projeto-primary);background:var(--cadastro-projeto-soft);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}.cadastro-projetos-filter button:hover,.cadastro-projetos-filter button:focus-visible{color:#fff;background:var(--cadastro-projeto-primary);outline:0}
.cadastro-projetos-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cadastro-projetos-item{min-width:0;padding:18px;border:1px solid #e6ddd4;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}.cadastro-projetos-item:hover{border-color:#d1bda9;box-shadow:0 8px 20px rgba(61,42,28,.07)}.cadastro-projetos-item[hidden]{display:none}.cadastro-projetos-item>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.cadastro-projetos-item h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.cadastro-projetos-item>header div>span{display:block;margin-top:4px;color:var(--cadastro-projeto-muted);font-size:.7rem}.cadastro-projetos-badge{display:inline-flex;flex:0 0 auto;max-width:45%;padding:5px 9px;border-radius:999px;color:#70451f;background:#f7e5d2;font-size:.64rem;font-weight:800;text-align:center}.cadastro-projetos-item dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.cadastro-projetos-item dl div{min-width:0}.cadastro-projetos-item dt{color:var(--cadastro-projeto-muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.cadastro-projetos-item dd{margin:3px 0 0;font-size:.77rem;overflow-wrap:anywhere}.cadastro-projetos-item>p{margin:15px 0 0;padding-top:13px;border-top:1px solid #eee6df;color:var(--cadastro-projeto-muted);font-size:.76rem;line-height:1.55;overflow-wrap:anywhere}.cadastro-projetos-empty{display:grid;gap:5px;padding:30px;border-radius:10px;color:var(--cadastro-projeto-muted);background:var(--cadastro-projeto-soft);text-align:center}.cadastro-projetos-empty strong{color:var(--cadastro-projeto-text)}
@keyframes cadastro-projeto-spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.cadastro-projetos-main{padding-top:112px}.cadastro-projetos-hero{grid-template-columns:auto 1fr}.cadastro-projetos-hero>.cadastro-projetos-button{grid-column:1/-1;width:100%}.cadastro-projetos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cadastro-projetos-field--wide{grid-column:1/-1}.cadastro-projetos-list{grid-template-columns:1fr}}
@media(max-width:560px){.cadastro-projetos-main{width:min(100% - 20px,1180px);padding-top:100px;gap:14px}.cadastro-projetos-hero{grid-template-columns:1fr;padding:18px}.cadastro-projetos-hero__icon{width:48px;height:48px}.cadastro-projetos-card{padding:16px;border-radius:13px}.cadastro-projetos-card__header{align-items:flex-start;flex-direction:column;gap:8px}.cadastro-projetos-card__header--list{flex-direction:row}.cadastro-projetos-grid{grid-template-columns:1fr}.cadastro-projetos-field--wide,.cadastro-projetos-field--full{grid-column:auto}.cadastro-projetos-form__actions{flex-direction:column}.cadastro-projetos-button{width:100%}.cadastro-projetos-item>header{flex-direction:column}.cadastro-projetos-badge{max-width:100%}.cadastro-projetos-item dl{grid-template-columns:1fr}.cadastro-projetos-filter>div{align-items:stretch}.cadastro-projetos-filter button{min-width:68px}}
@media(prefers-reduced-motion:reduce){.cadastro-projetos-button,.cadastro-projetos-item{transition:none}.cadastro-projetos-button:hover{transform:none}}

/* Filtro e resumo de pagamentos dos ajudantes */
.ajudantes-filtros{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr)) auto;align-items:end;gap:14px}.ajudantes-filtros label{display:grid;gap:6px;color:var(--admin-text);font-size:.76rem;font-weight:750}.ajudantes-filtros input{width:100%;min-height:42px;padding:9px 11px;border:1px solid #d8ccc1;border-radius:7px;color:var(--admin-text);background:#fff;font:inherit}.ajudantes-filtros input:focus{border-color:#c77738;outline:0;box-shadow:0 0 0 3px rgba(199,119,56,.13)}.ajudantes-filtros__actions{display:flex;gap:8px}.ajudantes-resumo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ajudantes-resumo article{display:grid;gap:7px;padding:18px;border:1px solid var(--admin-line);border-radius:11px;background:var(--admin-card);box-shadow:0 8px 22px rgba(61,42,28,.06)}.ajudantes-resumo span{color:var(--admin-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.ajudantes-resumo strong{color:var(--admin-primary);font-size:1.05rem}.ajudantes-money{white-space:nowrap}
@media(max-width:760px){.ajudantes-filtros{grid-template-columns:1fr}.ajudantes-filtros__actions{flex-direction:column}.ajudantes-resumo{grid-template-columns:1fr}.ajudantes-filtros__actions .ajudantes-button{width:100%}.ajudantes-table{min-width:940px}}

/* Administração: execução e histórico dos testes da aplicação */
.testes-main{display:grid;gap:18px}.testes-versao{padding:7px 11px;border-radius:999px;color:var(--admin-primary);background:#f5e8db;font-size:.72rem;font-weight:800}.testes-mensagem{margin:0;padding:13px 16px;border:1px solid #a8d6b9;border-radius:9px;color:#23603a;background:#eaf7ef}.testes-controles{display:grid;gap:14px;padding:20px}.testes-controles>div:first-child{display:flex;justify-content:space-between;gap:12px}.testes-controles>div:first-child span{color:var(--admin-muted);font-size:.75rem}.testes-acoes{display:flex;flex-wrap:wrap;gap:8px}.testes-botao{min-height:40px;padding:9px 13px;border:1px solid var(--admin-primary);border-radius:7px;color:#fff;background:var(--admin-primary);font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}.testes-botao--secundario{border-color:#d6c8bc;color:var(--admin-primary);background:#fff}.testes-botao:disabled{opacity:.55;cursor:wait}.teste-progresso{display:grid;gap:7px}.teste-progresso span{height:7px;border-radius:8px;background:linear-gradient(90deg,var(--admin-primary),#df985d,var(--admin-primary));background-size:200% 100%;animation:teste-progress 1.2s linear infinite}.teste-progresso strong{font-size:.72rem}.testes-resumo{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.testes-resumo article{display:grid;gap:7px;padding:16px;border:1px solid var(--admin-line);border-top:4px solid var(--admin-primary);border-radius:10px;background:#fff}.testes-resumo span{color:var(--admin-muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.testes-resumo strong{font-size:1.25rem}.testes-resumo .is-ok{border-top-color:#2b7a4b}.testes-resumo .is-fail{border-top-color:#b23a31}.testes-resumo .is-warn{border-top-color:#d07a22}.testes-resumo .is-skip{border-top-color:#7d7d7d}.teste-relatorio,.teste-historico{padding:20px}.teste-relatorio>header,.teste-historico>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.teste-relatorio h2,.teste-historico h2{margin:0;font-size:1.15rem}.teste-filtros{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin-bottom:17px}.teste-filtros label{display:grid;gap:5px;color:var(--admin-muted);font-size:.67rem;font-weight:800}.teste-filtros input,.teste-filtros select{min-width:0;min-height:40px;padding:8px 10px;border:1px solid #d8ccc1;border-radius:7px;background:#fff;font:inherit}.teste-tabela-wrap{overflow-x:auto}.teste-tabela{width:100%;border-collapse:collapse;font-size:.72rem}.teste-tabela th,.teste-tabela td{padding:11px 9px;border-bottom:1px solid #eee5dd;text-align:left;vertical-align:top}.teste-tabela th{color:var(--admin-muted);font-size:.62rem;text-transform:uppercase}.teste-tabela td small{display:block;margin-top:5px;color:var(--admin-muted)}.teste-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.59rem;font-weight:900}.teste-status.is-aprovado{color:#23603a;background:#e2f2e9}.teste-status.is-reprovado{color:#842e26;background:#fee5e1}.teste-status.is-alerta{color:#77430f;background:#fae8d4}.teste-status.is-ignorado{color:#555;background:#e9e9e9}.testes-detalhe-botao{border:0;color:var(--admin-primary);background:none;font:inherit;font-weight:800;cursor:pointer}.teste-detalhes td{padding:17px;background:#faf6f2}.teste-detalhes dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0}.teste-detalhes dt{font-size:.63rem;font-weight:900;text-transform:uppercase}.teste-detalhes dd{margin:4px 0 0;overflow-wrap:anywhere}.teste-detalhes pre{max-height:170px;margin:0;overflow:auto;white-space:pre-wrap;font:inherit}.teste-vazio td{padding:30px;text-align:center}.teste-historico ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.teste-historico a{display:flex;justify-content:space-between;gap:15px;padding:12px;border:1px solid #eee5dd;border-radius:8px;color:var(--admin-text);text-decoration:none}.teste-historico a span{color:var(--admin-muted);font-size:.72rem}@keyframes teste-progress{to{background-position:-200% 0}}
@media(max-width:1050px){.testes-resumo{grid-template-columns:repeat(3,1fr)}.teste-filtros{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.testes-resumo,.teste-filtros,.teste-detalhes dl{grid-template-columns:1fr}.testes-controles,.teste-relatorio,.teste-historico{padding:14px}.testes-acoes{flex-direction:column}.testes-botao{width:100%}.teste-tabela{min-width:850px}.teste-historico a{flex-direction:column}}@media print{.admin-sidebar,.admin-header,.testes-controles,.teste-filtros,.teste-historico,.testes-detalhe-botao{display:none!important}.admin-shell{margin:0}.admin-main{padding:0}.teste-detalhes[hidden]{display:table-row}.teste-relatorio{box-shadow:none}}

/* Testes administrativos 2.1: cards, diagnóstico acionável e filtros responsivos */
.testes-botao--falha{border-color:#a9342c;background:#a9342c}.testes-acoes a.testes-botao{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.teste-filtros{grid-template-columns:repeat(5,minmax(130px,1fr))}.teste-cards{display:grid;gap:12px}.teste-card{overflow:hidden;border:1px solid var(--admin-line);border-left:5px solid #7d7d7d;border-radius:10px;background:#fff}.teste-card.is-aprovado{border-left-color:#2b7a4b}.teste-card.is-reprovado{border-left-color:#b23a31}.teste-card.is-alerta{border-left-color:#d39a21}.teste-card>header{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:18px;padding:16px}.teste-card h3{margin:7px 0 3px;font-size:.92rem}.teste-card header p{margin:0;color:var(--admin-muted);font-size:.7rem}.teste-card header dl{display:flex;gap:20px;margin:0}.teste-card header dl div{display:grid;gap:3px}.teste-card header dt,.teste-detalhes dt{color:var(--admin-muted);font-size:.6rem;font-weight:900;text-transform:uppercase}.teste-card header dd{margin:0;font-size:.69rem}.teste-card .teste-detalhes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border-top:1px solid #eadfd6;background:#faf6f2}.teste-card .teste-detalhes[hidden]{display:none}.teste-detalhes section{min-width:0;padding:14px;border:1px solid #eadfd6;border-radius:8px;background:#fff}.teste-detalhes section:first-child,.teste-detalhes section:last-of-type{grid-column:1/-1}.teste-detalhes h4{margin:0 0 10px;color:var(--admin-primary);font-size:.74rem;text-transform:uppercase}.teste-detalhes p{margin:6px 0;line-height:1.55;overflow-wrap:anywhere}.teste-detalhes dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0}.teste-detalhes dd{margin:3px 0 0;line-height:1.5;overflow-wrap:anywhere}.teste-detalhes code,.teste-detalhes pre{display:block;max-height:180px;padding:9px;overflow:auto;border-radius:6px;background:#f4eee9;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.teste-vazio{padding:30px;text-align:center}
@media(max-width:1050px){.teste-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.teste-card>header{grid-template-columns:1fr auto}.teste-card header dl{grid-column:1/-1;grid-row:2}.teste-card .testes-detalhe-botao{grid-column:2;grid-row:1}}
@media(max-width:650px){.teste-filtros,.teste-card .teste-detalhes,.teste-detalhes dl{grid-template-columns:1fr}.teste-card>header{grid-template-columns:1fr}.teste-card header dl{grid-column:1;grid-row:auto;flex-direction:column;gap:8px}.teste-card .testes-detalhe-botao{grid-column:1;grid-row:auto;text-align:left}.teste-detalhes section:first-child,.teste-detalhes section:last-of-type{grid-column:auto}}

/* Administração de testes: relatório expansível sem corte */
.testes-admin,.testes-admin .admin-shell,.testes-admin .admin-main,.teste-relatorio,.teste-cards{max-width:100%;height:auto;max-height:none;overflow:visible;box-sizing:border-box}.teste-relatorio,.teste-cards,.teste-card,.teste-card>header,.teste-detalhes,.teste-detalhes *{box-sizing:border-box}.teste-relatorio,.teste-cards{width:100%;min-width:0}.teste-card{min-width:0;overflow:visible}.teste-card .teste-detalhes{width:100%;height:auto;max-height:0;overflow:hidden;transition:max-height .3s ease;overflow-wrap:anywhere;word-break:break-word}.teste-card .teste-detalhes.is-open{height:auto;max-height:none;overflow:visible}.teste-card .teste-detalhes[hidden]{display:none}.teste-detalhes section,.teste-detalhes dl,.teste-detalhes dl>div,.teste-detalhes p,.teste-detalhes dd{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.teste-detalhes .teste-bloco-tecnico{display:block;width:100%;max-width:100%;height:auto;max-height:none;margin:0;padding:9px;overflow-x:auto;overflow-y:visible;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.testes-detalhe-botao{min-height:40px;padding:8px 10px;border-radius:7px}.testes-detalhe-botao:focus-visible{outline:3px solid rgba(199,119,56,.35);outline-offset:2px}
@media(max-width:650px){.teste-card .teste-detalhes{grid-template-columns:minmax(0,1fr)}.teste-card>header,.teste-detalhes section{min-width:0}.testes-detalhe-botao{display:block;width:100%;text-align:center!important;background:#f5e8db}.teste-detalhes .teste-bloco-tecnico{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.teste-card .teste-detalhes{transition:none}}
@media print{.teste-card{overflow:visible}.teste-card .teste-detalhes,.teste-card .teste-detalhes[hidden]{display:grid;height:auto;max-height:none!important;overflow:visible!important}}

/* Administração de testes: diagnóstico assertivo e ações de cópia */
.teste-execucao-individual{display:inline-grid;grid-template-columns:minmax(160px,260px);gap:5px;color:var(--admin-muted);font-size:.67rem;font-weight:800}.teste-execucao-individual select{min-height:40px;padding:8px 10px;border:1px solid #d8ccc1;border-radius:7px;background:#fff;font:inherit}.teste-diagnostico-principal{border-color:#dfb59a!important;background:#fffaf6!important}.teste-diagnostico-principal h4:not(:first-child){margin-top:14px}.teste-sql{border:1px solid #e1d3c8;background:#f5eee8!important}.teste-detalhes summary{cursor:pointer;color:var(--admin-primary);font-weight:900}.teste-cards[data-grouping="tabela"] .teste-card{border-top:3px solid #c77738}.teste-cards[data-grouping="categoria"] .teste-card{border-top:3px solid transparent}@media(max-width:650px){.teste-execucao-individual{width:100%;grid-template-columns:1fr}.teste-execucao-individual select{width:100%}}
