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

body {
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    background: #ffffff;
    line-height: 1.6;
}

a {
    text-decoration: none;
    color: inherit;
}

.container {
    width: 90%;
    max-width: 1180px;
    margin: 0 auto;
}

/* TOPO */

.topo {
    background: #ffffff;
    border-bottom: 1px solid #eeeeee;
    position: sticky;
    top: 0;
    z-index: 100;
}

.topo-conteudo {
    height: 125px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.logo-area {
    display: flex;
    align-items: center;
    width: 420px;
    height: 115px;
    overflow: hidden;
}

.logo {
    height: 190px;
    width: auto;
    max-width: none;
    object-fit: contain;
    display: block;
    transform: translateY(-11px);
}

.logo-texto {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.logo-texto strong {
    font-size: 18px;
    color: #555555;
}

.logo-texto span {
    font-size: 11px;
    color: #0072bc;
}

.menu {
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: 15px;
}

.menu a {
    color: #444444;
    transition: color 0.2s;
}

.menu a:hover {
    color: #f47b20;
}

.topo-botoes {
    display: flex;
    gap: 10px;
}

/* BOTÕES */

.btn {
    display: inline-block;
    padding: 11px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.2s;
}

.btn-principal {
    background: #f47b20;
    color: #ffffff;
}

.btn-principal:hover {
    background: #d96510;
}

.btn-secundario {
    background: #f3f3f3;
    color: #444444;
}

.btn-secundario:hover {
    background: #e2e2e2;
}

.btn-suporte {
    background: #0072bc;
    color: #ffffff;
}

.btn-suporte:hover {
    background: #005f9d;
}

/* HERO */

.hero {
    background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 60%);
    padding: 80px 0;
}

.hero-conteudo {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    align-items: center;
    gap: 50px;
}

.etiqueta {
    display: inline-block;
    color: #f47b20;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 14px;
}

.hero h1 {
    font-size: 46px;
    line-height: 1.12;
    color: #2f2f2f;
    margin-bottom: 20px;
}

.hero p {
    font-size: 18px;
    color: #5f5f5f;
    margin-bottom: 28px;
}

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

.hero-card {
    background: #ffffff;
    padding: 34px;
    border-radius: 24px;
    box-shadow: 0 16px 45px rgba(0,0,0,0.08);
    border: 1px solid #eeeeee;
}

.hero-card h3 {
    font-size: 26px;
    margin-bottom: 12px;
    color: #333333;
}

.hero-card p {
    font-size: 16px;
    margin-bottom: 18px;
}

.hero-card ul {
    list-style: none;
}

.hero-card li {
    padding: 9px 0;
    border-bottom: 1px solid #eeeeee;
}

.hero-card li::before {
    content: "✓";
    color: #f47b20;
    font-weight: bold;
    margin-right: 8px;
}

/* SECÇÕES */

.secao {
    padding: 80px 0;
}

.secao-cinza {
    background: #f7f7f7;
}

.titulo-secao {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 45px auto;
}

.titulo-secao span {
    color: #f47b20;
    font-weight: bold;
    font-size: 14px;
}

.titulo-secao h2 {
    font-size: 36px;
    color: #333333;
    margin: 10px 0;
}

.titulo-secao p {
    color: #666666;
    font-size: 17px;
}

/* CARDS */

.grelha-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.grelha-cards.quatro {
    grid-template-columns: repeat(4, 1fr);
}

.card {
    background: #ffffff;
    padding: 28px;
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid #eeeeee;
    transition: transform 0.2s, box-shadow 0.2s;
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}

.icone {
    font-size: 34px;
    margin-bottom: 15px;
}

.card h3 {
    font-size: 21px;
    margin-bottom: 12px;
    color: #333333;
}

.card p {
    color: #666666;
    margin-bottom: 18px;
}

.card a {
    color: #f47b20;
    font-weight: bold;
}

/* SUPORTE */

.suporte-home {
    background: #ffffff;
}

.suporte-conteudo {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    gap: 40px;
    align-items: center;
}

.suporte-conteudo h2 {
    font-size: 36px;
    margin-bottom: 18px;
}

.suporte-conteudo p {
    color: #666666;
    font-size: 17px;
    margin-bottom: 24px;
}

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

.suporte-lista div {
    background: #f7f7f7;
    border-left: 5px solid #0072bc;
    padding: 18px;
    border-radius: 12px;
    font-weight: bold;
}

/* CTA FINAL */

.cta-final {
    background: #333333;
    color: #ffffff;
    text-align: center;
    padding: 75px 0;
}

.cta-final h2 {
    font-size: 36px;
    margin-bottom: 14px;
}

.cta-final p {
    max-width: 720px;
    margin: 0 auto 26px auto;
    color: #dddddd;
}

.centro {
    justify-content: center;
}

/* RODAPÉ */

.rodape {
    background: #222222;
    color: #ffffff;
    padding-top: 55px;
}

.rodape-grelha {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 35px;
    padding-bottom: 40px;
}

.rodape h3 {
    font-size: 26px;
    margin-bottom: 12px;
}

.rodape h4 {
    margin-bottom: 14px;
}

.rodape p {
    color: #bbbbbb;
}

.rodape a {
    display: block;
    color: #bbbbbb;
    margin-bottom: 8px;
    font-size: 14px;
}

.rodape a:hover {
    color: #f47b20;
}

.rodape-contactos {
    margin-top: 14px;
    font-size: 14px;
    color: #cccccc;
    line-height: 1.7;
}

.rodape-contactos a {
    display: inline;
    color: #cccccc;
    font-size: 14px;
}

.rodape-contactos a:hover {
    color: #f47b20;
}

.rodape-final {
    border-top: 1px solid #444444;
    text-align: center;
    color: #aaaaaa;
    padding: 18px;
    font-size: 14px;
}

/* RESPONSIVO */

@media (max-width: 980px) {
    .topo-conteudo {
        height: auto;
        padding: 18px 0;
        flex-direction: column;
    }

    .menu {
        flex-wrap: wrap;
        justify-content: center;
    }

    .hero-conteudo,
    .suporte-conteudo {
        grid-template-columns: 1fr;
    }

    .grelha-cards,
    .grelha-cards.quatro {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero h1 {
        font-size: 36px;
    }

    .rodape-grelha {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {
    .grelha-cards,
    .grelha-cards.quatro {
        grid-template-columns: 1fr;
    }

    .topo-botoes {
        flex-direction: column;
        width: 100%;
    }

    .btn {
        text-align: center;
    }

    .hero h1 {
        font-size: 31px;
    }

    .titulo-secao h2,
    .suporte-conteudo h2,
    .cta-final h2 {
        font-size: 28px;
    }

    .rodape-grelha {
        grid-template-columns: 1fr;
    }
}
/* PÁGINAS INTERNAS */

.pagina-titulo {
    background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 70%);
    padding: 75px 0 55px 0;
    border-bottom: 1px solid #eeeeee;
}

.pagina-titulo h1 {
    font-size: 44px;
    line-height: 1.15;
    color: #2f2f2f;
    margin-bottom: 18px;
}

.pagina-titulo p {
    max-width: 760px;
    color: #666666;
    font-size: 18px;
}

/* PRODUTOS / EQUIPAMENTOS */

.grelha-produtos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.produto-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
}

.produto-imagem {
    min-height: 210px;
    background: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.placeholder-imagem {
    color: #999999;
    font-weight: bold;
    font-size: 20px;
}

.produto-info {
    padding: 28px;
}

.produto-tag {
    display: inline-block;
    background: #fff1e8;
    color: #f47b20;
    font-size: 13px;
    font-weight: bold;
    padding: 6px 12px;
    border-radius: 999px;
    margin-bottom: 12px;
}

.produto-info h3 {
    font-size: 24px;
    color: #333333;
    margin-bottom: 12px;
}

.produto-info p {
    color: #666666;
    margin-bottom: 16px;
}

.produto-info ul {
    list-style: none;
    margin-bottom: 22px;
}

.produto-info li {
    padding: 7px 0;
    border-bottom: 1px solid #eeeeee;
}

.produto-info li::before {
    content: "✓";
    color: #f47b20;
    font-weight: bold;
    margin-right: 8px;
}

.categoria-card {
    min-height: 270px;
}

/* RESPONSIVO PÁGINAS INTERNAS */

@media (max-width: 980px) {
    .grelha-produtos {
        grid-template-columns: 1fr;
    }

    .pagina-titulo h1 {
        font-size: 36px;
    }
}

@media (max-width: 650px) {
    .pagina-titulo {
        padding: 50px 0 40px 0;
    }

    .pagina-titulo h1 {
        font-size: 31px;
    }
}
/* SERVIÇOS */

.servico-detalhe {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    gap: 45px;
    align-items: center;
}

.servico-detalhe.invertido {
    grid-template-columns: 0.8fr 1fr;
}

.servico-texto h2 {
    font-size: 36px;
    color: #2f2f2f;
    margin-bottom: 18px;
}

.servico-texto p {
    color: #666666;
    font-size: 17px;
    margin-bottom: 22px;
}

.lista-check {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lista-check li {
    padding: 10px 0;
    border-bottom: 1px solid #e8e8e8;
    color: #444444;
}

.lista-check li::before {
    content: "✓";
    color: #f47b20;
    font-weight: bold;
    margin-right: 8px;
}

.lista-check.pequena li {
    font-size: 15px;
    padding: 8px 0;
}

.servico-caixa {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 34px;
    box-shadow: 0 14px 40px rgba(0,0,0,0.06);
}

.servico-caixa h3 {
    font-size: 26px;
    color: #333333;
    margin-bottom: 14px;
}

.servico-caixa p {
    color: #666666;
    font-size: 17px;
}

.duas-colunas {
    grid-template-columns: repeat(2, 1fr);
}

.destaque-servico {
    min-height: 360px;
}

.processo-grelha {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.processo-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.processo-card span {
    display: inline-flex;
    width: 42px;
    height: 42px;
    background: #f47b20;
    color: #ffffff;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 16px;
}

.processo-card h3 {
    font-size: 22px;
    color: #333333;
    margin-bottom: 10px;
}

.processo-card p {
    color: #666666;
}

/* RESPONSIVO SERVIÇOS */

@media (max-width: 980px) {
    .servico-detalhe,
    .servico-detalhe.invertido {
        grid-template-columns: 1fr;
    }

    .duas-colunas {
        grid-template-columns: 1fr;
    }

    .processo-grelha {
        grid-template-columns: repeat(2, 1fr);
    }

    .servico-texto h2 {
        font-size: 32px;
    }
}

@media (max-width: 650px) {
    .processo-grelha {
        grid-template-columns: 1fr;
    }

    .servico-caixa {
        padding: 26px;
    }

    .servico-texto h2 {
        font-size: 28px;
    }
}
/* CONTACTOS */

.contactos-layout {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 45px;
    align-items: start;
}

.contactos-info h2 {
    font-size: 36px;
    color: #2f2f2f;
    margin-bottom: 16px;
}

.contactos-info > p {
    color: #666666;
    font-size: 17px;
    margin-bottom: 26px;
}

.contacto-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 18px;
    padding: 18px;
    margin-bottom: 14px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

.contacto-icone {
    width: 42px;
    height: 42px;
    background: #fff1e8;
    color: #f47b20;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.contacto-card h3 {
    font-size: 17px;
    color: #333333;
    margin-bottom: 3px;
}

.contacto-card p {
    color: #666666;
}

.formulario-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 34px;
    box-shadow: 0 16px 45px rgba(0,0,0,0.07);
}

.formulario-card h2 {
    font-size: 30px;
    color: #2f2f2f;
    margin-bottom: 10px;
}

.formulario-card > p {
    color: #666666;
    margin-bottom: 24px;
}

.formulario-contacto {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-linha {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.form-grupo {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.form-grupo label {
    font-weight: bold;
    color: #333333;
    font-size: 14px;
}

.form-grupo input,
.form-grupo select,
.form-grupo textarea {
    width: 100%;
    border: 1px solid #dddddd;
    border-radius: 12px;
    padding: 13px 14px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    color: #333333;
    background: #ffffff;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-grupo input:focus,
.form-grupo select:focus,
.form-grupo textarea:focus {
    border-color: #f47b20;
    box-shadow: 0 0 0 4px rgba(244,123,32,0.12);
}

.form-grupo textarea {
    resize: vertical;
    min-height: 140px;
}

.btn-formulario {
    border: none;
    cursor: pointer;
    align-self: flex-start;
}

/* RESPONSIVO CONTACTOS */

@media (max-width: 980px) {
    .contactos-layout {
        grid-template-columns: 1fr;
    }

    .contactos-info h2 {
        font-size: 32px;
    }
}

@media (max-width: 650px) {
    .form-linha {
        grid-template-columns: 1fr;
    }

    .formulario-card {
        padding: 26px;
    }

    .contactos-info h2,
    .formulario-card h2 {
        font-size: 28px;
    }
}
@media (max-width: 650px) {
    .logo-area {
        width: 280px;
        height: 85px;
    }

    .logo {
        height: 135px;
        transform: translateY(-8px);
    }
}
/* SOLUÇÕES */

.solucao-destaque {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 45px;
    align-items: center;
}

.solucao-destaque h2 {
    font-size: 38px;
    color: #2f2f2f;
    line-height: 1.15;
    margin-bottom: 18px;
}

.solucao-destaque p {
    color: #666666;
    font-size: 17px;
    margin-bottom: 24px;
}

.solucao-resumo {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 34px;
    box-shadow: 0 16px 45px rgba(0,0,0,0.07);
}

.solucao-resumo h3 {
    font-size: 26px;
    color: #333333;
    margin-bottom: 16px;
}

.solucao-resumo ul {
    list-style: none;
}

.solucao-resumo li {
    padding: 10px 0;
    border-bottom: 1px solid #eeeeee;
    color: #444444;
}

.solucao-resumo li::before {
    content: "✓";
    color: #f47b20;
    font-weight: bold;
    margin-right: 8px;
}

.solucoes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.solucao-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.solucao-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}

.solucao-card h3 {
    font-size: 21px;
    color: #333333;
    margin-bottom: 12px;
}

.solucao-card p {
    color: #666666;
    margin-bottom: 18px;
}

.solucao-card a {
    color: #f47b20;
    font-weight: bold;
}

.solucao-linha {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    gap: 45px;
    align-items: center;
}

.solucao-linha.invertida {
    grid-template-columns: 0.8fr 1fr;
}

.solucao-texto h2 {
    font-size: 36px;
    color: #2f2f2f;
    margin-bottom: 18px;
}

.solucao-texto p {
    color: #666666;
    font-size: 17px;
    margin-bottom: 22px;
}

.solucao-caixa {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 34px;
    box-shadow: 0 14px 40px rgba(0,0,0,0.06);
}

.solucao-caixa h3 {
    font-size: 26px;
    color: #333333;
    margin-bottom: 14px;
}

.solucao-caixa p {
    color: #666666;
    font-size: 17px;
}

.beneficios-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.beneficio-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.beneficio-card h3 {
    font-size: 21px;
    color: #333333;
    margin-bottom: 12px;
}

.beneficio-card p {
    color: #666666;
}

/* RESPONSIVO SOLUÇÕES */

@media (max-width: 980px) {
    .solucao-destaque,
    .solucao-linha,
    .solucao-linha.invertida {
        grid-template-columns: 1fr;
    }

    .solucoes-grid,
    .beneficios-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .solucao-destaque h2,
    .solucao-texto h2 {
        font-size: 32px;
    }
}

@media (max-width: 650px) {
    .solucoes-grid,
    .beneficios-grid {
        grid-template-columns: 1fr;
    }

    .solucao-resumo,
    .solucao-caixa {
        padding: 26px;
    }

    .solucao-destaque h2,
    .solucao-texto h2 {
        font-size: 28px;
    }
}
/* SUPORTE / LOGIN */

.suporte-login-secao {
    background: #ffffff;
}

.suporte-login-layout {
    display: grid;
    grid-template-columns: 1fr 0.85fr;
    gap: 48px;
    align-items: center;
}

.suporte-login-info h2 {
    font-size: 38px;
    color: #2f2f2f;
    line-height: 1.15;
    margin-bottom: 18px;
}

.suporte-login-info > p {
    color: #666666;
    font-size: 17px;
    margin-bottom: 28px;
}

.suporte-beneficios {
    display: grid;
    gap: 16px;
}

.suporte-beneficio {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

.suporte-beneficio-icone {
    width: 44px;
    height: 44px;
    background: #fff1e8;
    color: #f47b20;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.suporte-beneficio h3 {
    font-size: 18px;
    color: #333333;
    margin-bottom: 4px;
}

.suporte-beneficio p {
    color: #666666;
    font-size: 15px;
}

.login-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 26px;
    padding: 38px;
    box-shadow: 0 18px 50px rgba(0,0,0,0.08);
}

.login-card h2 {
    font-size: 30px;
    color: #2f2f2f;
    margin-bottom: 10px;
}

.login-card > p {
    color: #666666;
    margin-bottom: 24px;
}

.formulario-login {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.btn-login {
    border: none;
    cursor: pointer;
    text-align: center;
    margin-top: 4px;
}

.login-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
    font-size: 14px;
    color: #666666;
}

.login-links a {
    color: #f47b20;
    font-weight: bold;
}

.login-links a:hover {
    color: #d96510;
}

/* RESPONSIVO SUPORTE */

@media (max-width: 980px) {
    .suporte-login-layout {
        grid-template-columns: 1fr;
    }

    .suporte-login-info h2 {
        font-size: 32px;
    }
}

@media (max-width: 650px) {
    .login-card {
        padding: 26px;
    }

    .suporte-login-info h2,
    .login-card h2 {
        font-size: 28px;
    }

    .suporte-beneficio {
        flex-direction: column;
    }
}
/* AJUSTE DO TOPO */

.topo-botoes {
    flex-shrink: 0;
}

.btn {
    white-space: nowrap;
}
/* PORTAL CLIENTE */

.portal-hero {
    background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 70%);
    padding: 75px 0;
    border-bottom: 1px solid #eeeeee;
}

.portal-hero-layout {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 45px;
    align-items: center;
}

.portal-hero h1 {
    font-size: 44px;
    line-height: 1.15;
    color: #2f2f2f;
    margin-bottom: 18px;
}

.portal-hero p {
    max-width: 760px;
    color: #666666;
    font-size: 18px;
}

.portal-cliente-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 32px;
    box-shadow: 0 16px 45px rgba(0,0,0,0.07);
}

.portal-cliente-card h3 {
    font-size: 15px;
    color: #f47b20;
    margin-bottom: 3px;
}

.portal-cliente-card p {
    font-size: 16px;
    color: #444444;
    margin-bottom: 14px;
}

.estado-ativo {
    display: inline-block;
    background: #eaf8ef;
    color: #218a45;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: bold;
}

.estado-alerta {
    display: inline-block;
    background: #fff1e8;
    color: #d96510;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: bold;
}

.portal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.portal-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.portal-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}

.portal-card h3 {
    font-size: 21px;
    color: #333333;
    margin-bottom: 12px;
}

.portal-card p {
    color: #666666;
    margin-bottom: 18px;
}

.portal-card a {
    color: #f47b20;
    font-weight: bold;
}

.portal-lista {
    display: grid;
    gap: 16px;
}

.portal-lista-item {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 20px;
    padding: 20px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: center;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
}

.portal-lista-icone {
    width: 46px;
    height: 46px;
    background: #fff1e8;
    color: #f47b20;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.portal-lista-item h3 {
    font-size: 19px;
    color: #333333;
    margin-bottom: 4px;
}

.portal-lista-item p {
    color: #666666;
}

.portal-form-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px;
    align-items: start;
}

.portal-form-layout h2 {
    font-size: 34px;
    color: #2f2f2f;
    margin-bottom: 16px;
}

.portal-form-layout p {
    color: #666666;
    font-size: 17px;
    margin-bottom: 22px;
}

.tabela-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 14px 40px rgba(0,0,0,0.06);
    overflow-x: auto;
}

.portal-tabela {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.portal-tabela th,
.portal-tabela td {
    text-align: left;
    padding: 14px 16px;
    border-bottom: 1px solid #eeeeee;
}

.portal-tabela th {
    color: #333333;
    font-size: 14px;
    background: #f7f7f7;
}

.portal-tabela td {
    color: #555555;
}

.portal-tabela tr:last-child td {
    border-bottom: none;
}

/* RESPONSIVO PORTAL */

@media (max-width: 980px) {
    .portal-hero-layout,
    .portal-form-layout {
        grid-template-columns: 1fr;
    }

    .portal-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .portal-hero h1 {
        font-size: 36px;
    }

    .portal-lista-item {
        grid-template-columns: auto 1fr;
    }

    .portal-lista-item .btn {
        grid-column: 1 / -1;
        text-align: center;
    }
}

@media (max-width: 650px) {
    .portal-grid {
        grid-template-columns: 1fr;
    }

    .portal-hero {
        padding: 50px 0;
    }

    .portal-hero h1 {
        font-size: 31px;
    }

    .portal-form-layout h2 {
        font-size: 28px;
    }
}
/* MENU ATIVO */

.menu a.ativo {
    color: #f47b20;
    font-weight: bold;
}
/* CONTACTOS NO RODAPÉ */

.rodape-contactos {
    margin-top: 14px;
    font-size: 14px;
    color: #cccccc;
    line-height: 1.7;
}
.rodape-contactos a {
    color: #cccccc;
}

.rodape-contactos a:hover {
    color: #f47b20;
}
/* IMAGENS DA PÁGINA INICIAL */

.hero-imagem-card {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    min-height: 430px;
    box-shadow: 0 18px 55px rgba(0,0,0,0.12);
    border: 1px solid #eeeeee;
    background: #f7f7f7;
}

.hero-imagem {
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
    display: block;
}

.hero-info-flutuante {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    background: rgba(255,255,255,0.94);
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 12px 35px rgba(0,0,0,0.12);
}

.hero-info-flutuante h3 {
    color: #333333;
    font-size: 23px;
    margin-bottom: 8px;
}

.hero-info-flutuante p {
    color: #666666;
    font-size: 15px;
    margin: 0;
}

.hero-lista-flutuante {
    position: absolute;
    top: 22px;
    left: 22px;
    right: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hero-lista-flutuante span {
    background: rgba(255,255,255,0.94);
    color: #333333;
    font-size: 13px;
    font-weight: bold;
    padding: 8px 12px;
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(0,0,0,0.08);
}

.card-imagem {
    padding: 0;
    overflow: hidden;
}

.card-imagem img {
    width: 100%;
    height: 175px;
    object-fit: cover;
    display: block;
}

.card-imagem-conteudo {
    padding: 24px;
}

.card-imagem-conteudo h3 {
    font-size: 21px;
    margin-bottom: 10px;
    color: #333333;
}

.card-imagem-conteudo p {
    color: #666666;
    margin-bottom: 16px;
}

.card-imagem-conteudo a {
    color: #f47b20;
    font-weight: bold;
}

/* RESPONSIVO IMAGENS HOME */

@media (max-width: 980px) {
    .hero-imagem-card {
        min-height: 360px;
    }

    .hero-imagem {
        min-height: 360px;
    }
}

@media (max-width: 650px) {
    .hero-imagem-card {
        min-height: 300px;
    }

    .hero-imagem {
        min-height: 300px;
    }

    .hero-info-flutuante {
        position: static;
        border-radius: 0;
        box-shadow: none;
    }

    .hero-lista-flutuante {
        position: static;
        padding: 18px 18px 0 18px;
        background: #ffffff;
    }

    .card-imagem img {
        height: 210px;
    }
}
/* AJUSTE FINAL DAS IMAGENS DA HOME */

.hero-conteudo {
    grid-template-columns: 1.05fr 0.95fr;
}

.hero-imagem-card {
    min-height: 460px;
}

.hero-imagem {
    min-height: 460px;
    object-position: center center;
}

.card-imagem img {
    height: 185px;
}
/* IMAGENS NA PÁGINA EQUIPAMENTOS */

.produto-imagem {
    min-height: 260px;
    background: #f7f7f7;
    overflow: hidden;
}

.produto-imagem img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}

.produto-imagem-contain {
    background: #ffffff;
}

.produto-imagem-contain img {
    object-fit: contain;
    padding: 22px;
}
/* AJUSTE IMAGEM MULTIFUNÇÕES EMPRESARIAL HP */

.produto-imagem-destaque {
    min-height: 340px;
    background: #ffffff;
}

.produto-imagem-destaque img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center center;
    display: block;
    padding: 0;
}
/* PORTAL - PEDIDO DE CONSUMÍVEIS */

.portal-consumiveis-card {
    max-width: 900px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.06);
}

.portal-form {
    display: grid;
    gap: 18px;
}

.form-grupo {
    display: grid;
    gap: 8px;
}

.form-grupo label {
    font-weight: 700;
    color: #222222;
    font-size: 14px;
}

.form-grupo input,
.form-grupo select,
.form-grupo textarea {
    width: 100%;
    border: 1px solid #dddddd;
    border-radius: 14px;
    padding: 13px 14px;
    font-family: inherit;
    font-size: 15px;
    color: #222222;
    background: #ffffff;
}

.form-grupo textarea {
    resize: vertical;
}

.mensagem-portal {
    display: none;
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 600;
}

.mensagem-portal.info {
    display: block;
    background: #eef5ff;
    color: #075985;
}

.mensagem-portal.sucesso {
    display: block;
    background: #ecfdf3;
    color: #166534;
}

.mensagem-portal.aviso {
    display: block;
    background: #fff7ed;
    color: #c2410c;
}

.mensagem-portal.erro {
    display: block;
    background: #fef2f2;
    color: #b91c1c;
}

.portal-equipamento-card {
    margin-top: 22px;
    border: 1px solid #eeeeee;
    border-radius: 20px;
    padding: 24px;
    background: #fbfbfb;
}

.portal-equipamento-card h3 {
    font-size: 22px;
    margin-bottom: 18px;
    color: #222222;
}

.portal-equipamento-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.portal-equipamento-grid div {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 16px;
    padding: 14px;
}

.portal-equipamento-grid span {
    display: block;
    color: #777777;
    font-size: 13px;
    margin-bottom: 4px;
}

.portal-equipamento-grid strong {
    color: #222222;
    font-size: 15px;
}

.pedido-form {
    margin-top: 22px;
}

@media (max-width: 700px) {
    .portal-consumiveis-card {
        padding: 22px;
    }

    .portal-equipamento-grid {
        grid-template-columns: 1fr;
    }
}
.mensagem-pedido {
    margin-top: 4px;
    margin-bottom: 4px;
}

/* PAINEL INTERNO - PEDIDOS DE CONSUMÍVEIS */

.hero-simples {
    padding: 90px 0 70px 0;
}

.hero-simples h1 {
    max-width: 850px;
    font-size: 48px;
    line-height: 1.12;
    margin: 12px 0 18px 0;
}

.hero-simples p {
    max-width: 760px;
    color: #555555;
    font-size: 18px;
    line-height: 1.7;
}

.painel-resumo-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
}

.painel-resumo-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.05);
}

.painel-resumo-card span {
    display: block;
    color: #777777;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
}

.painel-resumo-card strong {
    display: block;
    color: #222222;
    font-size: 34px;
    line-height: 1;
}

.painel-filtros {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 16px;
    align-items: end;
    margin-bottom: 28px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.05);
}

.painel-filtros-botoes {
    display: flex;
    gap: 10px;
}

.painel-tabela-wrapper {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.05);
}

.painel-tabela {
    width: 100%;
    border-collapse: collapse;
    min-width: 1100px;
}

.painel-tabela th,
.painel-tabela td {
    padding: 16px;
    border-bottom: 1px solid #eeeeee;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

.painel-tabela th {
    background: #fbfbfb;
    color: #222222;
    font-weight: 800;
}

.painel-tabela td {
    color: #333333;
}

.painel-tabela td span {
    color: #666666;
    font-size: 13px;
}

.painel-motivo {
    margin-top: 8px;
    padding: 9px 11px;
    border-radius: 12px;
    background: #fff7ed;
    color: #c2410c;
    font-size: 12px;
    font-weight: 700;
}

.estado-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.estado-pendente {
    background: #eef5ff;
    color: #075985;
}

.estado-bloqueado {
    background: #fff7ed;
    color: #c2410c;
}

.estado-aprovado {
    background: #ecfdf3;
    color: #166534;
}

.estado-entregue {
    background: #f0fdf4;
    color: #15803d;
}

.estado-recusado {
    background: #fef2f2;
    color: #b91c1c;
}

.estado-cancelado {
    background: #f3f4f6;
    color: #4b5563;
}

.acoes-pedido {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.btn-mini {
    border: none;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.btn-aprovar {
    background: #ecfdf3;
    color: #166534;
}

.btn-entregar {
    background: #eef5ff;
    color: #075985;
}

.btn-recusar {
    background: #fef2f2;
    color: #b91c1c;
}

.btn-cancelar {
    background: #f3f4f6;
    color: #4b5563;
}

.acoes-sem-acoes {
    color: #888888;
    font-size: 13px;
}

@media (max-width: 1100px) {
    .painel-resumo-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .painel-filtros {
        grid-template-columns: 1fr 1fr;
    }

    .painel-filtros-botoes {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .hero-simples h1 {
        font-size: 36px;
    }

    .painel-resumo-grid {
        grid-template-columns: 1fr 1fr;
    }

    .painel-filtros {
        grid-template-columns: 1fr;
    }

    .painel-filtros-botoes {
        flex-direction: column;
    }
}
.estado-aprovado {
    background: #ecfdf3;
    color: #166534;
}

.btn-aprovar {
    background: #ecfdf3;
    color: #166534;
}
.painel-excecao {
    margin-top: 8px;
    padding: 9px 11px;
    border-radius: 12px;
    background: #ecfdf3;
    color: #166534;
    font-size: 12px;
    font-weight: 700;
}
/* LOGIN PORTAL */

.login-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 46px;
    align-items: start;
}

.login-card,
.login-info-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 36px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.06);
}

.login-card h1,
.login-info-card h2 {
    font-size: 34px;
    line-height: 1.2;
    color: #222222;
    margin: 12px 0 18px 0;
}

.login-card p,
.login-info-card p {
    color: #555555;
    line-height: 1.7;
    margin-bottom: 24px;
}

@media (max-width: 900px) {
    .login-layout {
        grid-template-columns: 1fr;
    }
}

/* AJUSTE BOTÃO LOGIN */

#btn-login-submit {
    border: none;
    cursor: pointer;
}

/* PORTAL CLIENTE - HISTÓRICO DE PEDIDOS */

.portal-historico-acoes {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.portal-tabela-wrapper {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.05);
}

.portal-tabela {
    width: 100%;
    border-collapse: collapse;
    min-width: 950px;
}

.portal-tabela th,
.portal-tabela td {
    padding: 16px;
    border-bottom: 1px solid #eeeeee;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

.portal-tabela th {
    background: #fbfbfb;
    color: #222222;
    font-weight: 800;
}

.portal-tabela td {
    color: #333333;
}

.portal-tabela td span {
    color: #666666;
    font-size: 13px;
}

.portal-motivo-bloqueio {
    display: inline-block;
    margin-top: 8px;
    padding: 9px 11px;
    border-radius: 12px;
    background: #fff7ed;
    color: #c2410c !important;
    font-size: 12px !important;
    font-weight: 700;
}
/* PAINEL INTERNO - GESTÃO DE UTILIZADORES */

.utilizadores-layout {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 28px;
    align-items: start;
}

.utilizadores-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.06);
}

.utilizadores-card h3 {
    font-size: 24px;
    color: #222222;
    margin-bottom: 20px;
}

.utilizadores-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.utilizadores-lista-card {
    min-width: 0;
}

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

.utilizadores-tabela {
    width: 100%;
    border-collapse: collapse;
    min-width: 850px;
}

.utilizadores-tabela th,
.utilizadores-tabela td {
    padding: 14px;
    border-bottom: 1px solid #eeeeee;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

.utilizadores-tabela th {
    background: #fbfbfb;
    color: #222222;
    font-weight: 800;
}

.utilizadores-tabela td {
    color: #333333;
}

@media (max-width: 1100px) {
    .utilizadores-layout {
        grid-template-columns: 1fr;
    }
}

/* A MINHA CONTA */

.minha-conta-card {
    max-width: 720px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 34px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.06);
}
/* PORTAL CLIENTE - ASSISTÊNCIA TÉCNICA */

.assistencia-layout {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 28px;
    align-items: start;
}

.assistencia-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.06);
}

.assistencia-card h3 {
    font-size: 24px;
    color: #222222;
    margin-bottom: 20px;
}

@media (max-width: 1100px) {
    .assistencia-layout {
        grid-template-columns: 1fr;
    }
}
/* CORREÇÃO DEFINITIVA - ASSISTÊNCIA TÉCNICA PORTAL */

#assistencia-tecnica .container {
    max-width: 1320px !important;
}

#assistencia-tecnica .assistencia-layout {
    display: grid !important;
    grid-template-columns: 460px minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
}

#assistencia-tecnica .assistencia-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#assistencia-tecnica .portal-form {
    width: 100% !important;
}

#assistencia-tecnica .form-linha {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}

#assistencia-tecnica .form-grupo {
    min-width: 0 !important;
}

#assistencia-tecnica input,
#assistencia-tecnica select,
#assistencia-tecnica textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#assistencia-tecnica textarea {
    min-height: 150px !important;
    resize: vertical !important;
}

#assistencia-tecnica .portal-tabela-wrapper {
    width: 100% !important;
    overflow-x: auto !important;
}

#assistencia-tecnica .portal-tabela {
    min-width: 760px !important;
}

@media (max-width: 1200px) {
    #assistencia-tecnica .assistencia-layout {
        grid-template-columns: 1fr !important;
    }

    #assistencia-tecnica .form-linha {
        grid-template-columns: 1fr !important;
    }
}
/* FORMATO HORIZONTAL - ASSISTÊNCIA TÉCNICA PORTAL */

#assistencia-tecnica .container {
    max-width: 1320px !important;
}

#assistencia-tecnica .assistencia-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
}

#assistencia-tecnica .assistencia-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#assistencia-tecnica .assistencia-form-card {
    padding: 34px !important;
}

#assistencia-tecnica .assistencia-card-topo {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin-bottom: 24px !important;
}

#assistencia-tecnica .assistencia-card-topo h3,
#assistencia-tecnica .utilizadores-topo h3 {
    margin-bottom: 0 !important;
}

#assistencia-tecnica .assistencia-form-horizontal {
    display: grid !important;
    gap: 20px !important;
}

#assistencia-tecnica .assistencia-form-grid {
    display: grid !important;
    gap: 18px !important;
}

#assistencia-tecnica .assistencia-form-grid-3 {
    grid-template-columns: 1.2fr 0.9fr 0.9fr !important;
}

#assistencia-tecnica .assistencia-form-grid-3:last-of-type {
    grid-template-columns: 1fr 0.8fr 1fr !important;
}

#assistencia-tecnica .form-linha {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
}

#assistencia-tecnica .form-grupo {
    min-width: 0 !important;
}

#assistencia-tecnica input,
#assistencia-tecnica select,
#assistencia-tecnica textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#assistencia-tecnica textarea {
    min-height: 150px !important;
    resize: vertical !important;
}

#assistencia-tecnica .assistencia-form-acoes {
    display: flex !important;
    justify-content: flex-end !important;
}

#assistencia-tecnica .assistencia-form-acoes .btn {
    min-width: 260px !important;
    border: none !important;
    cursor: pointer !important;
}

#assistencia-tecnica .assistencia-historico-card {
    padding: 30px !important;
}

#assistencia-tecnica .portal-tabela-wrapper {
    width: 100% !important;
    overflow-x: auto !important;
}

#assistencia-tecnica .portal-tabela {
    min-width: 900px !important;
}

@media (max-width: 980px) {
    #assistencia-tecnica .assistencia-form-grid-3,
    #assistencia-tecnica .assistencia-form-grid-3:last-of-type {
        grid-template-columns: 1fr !important;
    }

    #assistencia-tecnica .assistencia-form-acoes {
        justify-content: stretch !important;
    }

    #assistencia-tecnica .assistencia-form-acoes .btn {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* PAINEL INTERNO - PEDIDOS DE ASSISTÊNCIA TÉCNICA */

#pedidos-assistencia-interna .container {
    max-width: 1320px;
}

.painel-filtros-assistencia {
    grid-template-columns: 1fr 1fr 1fr auto;
}

.painel-assistencia-wrapper {
    margin-top: 24px;
}

.painel-assistencia-tabela {
    min-width: 1280px;
}

.painel-assistencia-descricao {
    margin-top: 8px;
    padding: 9px 11px;
    border-radius: 12px;
    background: #f7f7f7;
    color: #444444;
    font-size: 12px;
    line-height: 1.5;
    max-width: 360px;
}

.painel-assistencia-interna {
    margin-top: 8px;
    padding: 9px 11px;
    border-radius: 12px;
    background: #eef5ff;
    color: #075985;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    max-width: 360px;
}

@media (max-width: 1100px) {
    .painel-filtros-assistencia {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .painel-filtros-assistencia {
        grid-template-columns: 1fr;
    }
}

/* OBSERVAÇÕES SILVERTIC - PEDIDOS DE ASSISTÊNCIA */

#assistencia-tecnica .portal-tabela {
    min-width: 1080px !important;
}

.portal-assistencia-observacao {
    display: inline-block;
    max-width: 360px;
    padding: 9px 11px;
    border-radius: 12px;
    background: #eef5ff;
    color: #075985;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.portal-assistencia-sem-observacao {
    color: #999999;
}

.painel-assistencia-interna strong {
    color: #075985;
}

/* PORTAL CLIENTE - OS MEUS EQUIPAMENTOS DINÂMICOS */

#equipamentos-cliente .portal-tabela {
    min-width: 1050px;
}

#equipamentos-cliente .portal-tabela td span {
    color: #666666;
    font-size: 13px;
}

#equipamentos-cliente .estado-badge {
    min-width: 110px;
}

/* PEDIDO DE ACESSO AO PORTAL */

.pedido-acesso-secao {
    padding-top: 84px;
    padding-bottom: 84px;
}

.pedido-acesso-layout {
    display: grid;
    grid-template-columns: 0.85fr 1.35fr;
    gap: 36px;
    align-items: start;
}

.pedido-acesso-info h1 {
    font-size: 42px;
    line-height: 1.15;
    color: #222222;
    margin: 12px 0 18px;
}

.pedido-acesso-info > p {
    color: #555555;
    font-size: 17px;
    line-height: 1.65;
    max-width: 560px;
}

.pedido-acesso-lista {
    margin-top: 28px;
}

.pedido-acesso-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 26px;
    padding: 34px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.06);
}

.pedido-acesso-card h2 {
    font-size: 30px;
    color: #222222;
    margin: 8px 0 10px;
}

.pedido-acesso-card > p {
    color: #555555;
    line-height: 1.55;
    margin-bottom: 24px;
}

.form-linha.tres-colunas {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pedido-acesso-acoes {
    display: flex;
    justify-content: flex-end;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 18px;
}

@media (max-width: 1100px) {
    .pedido-acesso-layout {
        grid-template-columns: 1fr;
    }

    .form-linha.tres-colunas {
        grid-template-columns: 1fr;
    }

    .pedido-acesso-info h1 {
        font-size: 34px;
    }
}


/* GESTÃO DE UTILIZADORES - PÁGINA DEDICADA */

.gestao-utilizadores-pagina .titulo-secao h1 {
    font-size: 38px;
    color: #2f2f2f;
    margin: 8px 0 12px 0;
}

.utilizador-form-card,
.utilizadores-lista-full {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 16px 45px rgba(0,0,0,0.07);
    margin-bottom: 28px;
}

.utilizador-form-topo,
.utilizadores-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.utilizador-form-topo h2,
.utilizadores-topo h2 {
    font-size: 26px;
    color: #222222;
    margin: 0;
}

.utilizador-form-horizontal {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.form-linha.tres-colunas {
    grid-template-columns: repeat(3, 1fr);
}

.form-linha.quatro-colunas {
    grid-template-columns: repeat(4, 1fr);
}

.utilizador-form-acoes {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.utilizadores-lista-full .utilizadores-tabela-wrapper {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #eeeeee;
    border-radius: 18px;
}

.utilizadores-lista-full .utilizadores-tabela {
    width: 100%;
    min-width: 1160px;
    border-collapse: collapse;
    background: #ffffff;
}

.utilizadores-lista-full .utilizadores-tabela th,
.utilizadores-lista-full .utilizadores-tabela td {
    padding: 14px 14px;
    border-bottom: 1px solid #eeeeee;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}

.utilizadores-lista-full .utilizadores-tabela th {
    background: #fafafa;
    color: #222222;
    font-weight: 700;
}

.utilizadores-lista-full .utilizadores-tabela tr:last-child td {
    border-bottom: none;
}

.utilizador-nota {
    display: inline-block;
    margin-top: 6px;
    color: #f47b20;
    font-size: 12px;
    font-weight: 700;
}

.acoes-utilizador {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 230px;
}

.btn-mini {
    border: none;
    background: #eef5ff;
    color: #005a9e;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.btn-mini:hover {
    filter: brightness(0.96);
}

.btn-mini.btn-sucesso {
    background: #e8faef;
    color: #087537;
}

.btn-mini.btn-alerta {
    background: #fff3e9;
    color: #d35400;
}

.btn-mini.btn-neutro {
    background: #f1f1f1;
    color: #444444;
}

@media (max-width: 980px) {
    .form-linha.tres-colunas,
    .form-linha.quatro-colunas {
        grid-template-columns: 1fr 1fr;
    }

    .utilizador-form-topo,
    .utilizadores-topo {
        flex-direction: column;
    }

    .utilizador-form-acoes {
        justify-content: flex-start;
    }
}

@media (max-width: 650px) {
    .form-linha.tres-colunas,
    .form-linha.quatro-colunas {
        grid-template-columns: 1fr;
    }
}

/* AJUSTES ESPECÍFICOS - GESTÃO DE UTILIZADORES */

.pagina-gestao-utilizadores .topo-conteudo {
    gap: 18px;
}

.pagina-gestao-utilizadores .logo-area {
    width: 320px;
    flex: 0 0 320px;
    overflow: visible;
}

.pagina-gestao-utilizadores .logo {
    height: 150px;
    transform: translateY(-7px);
}

.pagina-gestao-utilizadores .menu {
    gap: 18px;
}

.origem-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.origem-badge.origem-pedido {
    background: #fff3e9;
    color: #d35400;
}

.origem-badge.origem-manual {
    background: #f1f1f1;
    color: #444444;
}

@media (max-width: 980px) {
    .pagina-gestao-utilizadores .logo-area {
        width: 300px;
        flex-basis: 300px;
    }

    .pagina-gestao-utilizadores .logo {
        height: 140px;
    }
}


/* CORREÇÃO LOGÓTIPO CABEÇALHO V25 */
.topo {
    background: #ffffff;
}

.topo .topo-conteudo {
    min-height: 112px;
    height: auto;
    padding: 10px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.topo .logo-area {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 300px;
    width: 300px;
    height: auto;
    min-height: 88px;
    overflow: visible;
}

.topo .logo-link {
    display: flex;
    align-items: center;
    width: 300px;
    height: auto;
}

.topo .logo {
    display: block;
    width: 300px;
    max-width: 100%;
    height: auto;
    max-height: 92px;
    object-fit: contain;
    transform: none;
}

.topo .menu {
    flex: 1 1 auto;
    justify-content: center;
}

.topo .topo-botoes {
    flex: 0 0 auto;
    align-items: center;
}

@media (max-width: 1180px) {
    .topo .topo-conteudo {
        gap: 14px;
    }

    .topo .logo-area,
    .topo .logo-link {
        flex-basis: 250px;
        width: 250px;
    }

    .topo .logo {
        width: 250px;
        max-height: 78px;
    }

    .topo .menu {
        gap: 14px;
        font-size: 14px;
    }
}

@media (max-width: 980px) {
    .topo .topo-conteudo {
        flex-direction: column;
        justify-content: center;
        padding: 14px 0;
    }

    .topo .logo-area,
    .topo .logo-link {
        width: 300px;
        flex-basis: auto;
        justify-content: center;
    }

    .topo .logo {
        width: 300px;
        max-height: 92px;
    }
}

@media (max-width: 650px) {
    .topo .logo-area,
    .topo .logo-link {
        width: 250px;
    }

    .topo .logo {
        width: 250px;
        max-height: 78px;
    }
}



    .topo .logo {
        width: 255px !important;
        max-width: 255px !important;
        max-height: 82px !important;
    }
}

/* ==========================================================
   CORREÇÃO LOGÓTIPO CABEÇALHO V27 - LOGÓTIPO MAIOR
   ========================================================== */

.topo {
    background: #ffffff;
}

.topo .topo-conteudo {
    min-height: 118px !important;
    height: auto !important;
    padding: 12px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 22px !important;
}

.topo .logo-area {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 370px !important;
    width: 370px !important;
    height: auto !important;
    min-height: 92px !important;
    overflow: visible !important;
}

.topo .logo-link {
    display: flex !important;
    align-items: center !important;
    width: 370px !important;
    height: auto !important;
}

.topo .logo {
    display: block !important;
    width: 370px !important;
    max-width: 370px !important;
    height: auto !important;
    max-height: 92px !important;
    object-fit: contain !important;
    transform: none !important;
}

.topo .menu {
    flex: 1 1 auto !important;
    justify-content: center !important;
}

.topo .topo-botoes {
    flex: 0 0 auto !important;
    align-items: center !important;
}

@media (max-width: 1180px) {
    .topo .topo-conteudo {
        gap: 14px !important;
    }

    .topo .logo-area,
    .topo .logo-link {
        flex-basis: 310px !important;
        width: 310px !important;
    }

    .topo .logo {
        width: 310px !important;
        max-width: 310px !important;
        max-height: 84px !important;
    }

    .topo .menu {
        gap: 14px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 980px) {
    .topo .topo-conteudo {
        flex-direction: column !important;
        justify-content: center !important;
        padding: 14px 0 !important;
    }

    .topo .logo-area,
    .topo .logo-link {
        width: 340px !important;
        flex-basis: auto !important;
        justify-content: center !important;
    }

    .topo .logo {
        width: 340px !important;
        max-width: 340px !important;
        max-height: 90px !important;
    }
}

@media (max-width: 650px) {
    .topo .logo-area,
    .topo .logo-link {
        width: 260px !important;
    }

    .topo .logo {
        width: 260px !important;
        max-width: 260px !important;
        max-height: 78px !important;
    }
}

/* =========================================================
   HOMEPAGE V30 - CARROSSEL LARGO + BLOCO INTRODUTÓRIO ABAIXO
   ========================================================= */
.home-slider-section {
    padding: 44px 24px 18px;
}

.slider-home-outer {
    max-width: 1320px;
    margin: 0 auto;
}

.slider-home {
    position: relative;
    min-height: 520px;
    border-radius: 30px;
    overflow: hidden;
    background: linear-gradient(135deg, #f8f8f8 0%, #ececec 100%);
    box-shadow: 0 18px 45px rgba(17, 24, 39, 0.08);
}

.slide-home {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 30px;
    padding: 38px 46px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.45s ease;
}

.slide-home.ativo {
    opacity: 1;
    visibility: visible;
}

.slide-home img {
    width: 100%;
    max-height: 400px;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.14));
}

.slide-home-info {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 24px;
    padding: 28px 28px 24px;
    box-shadow: 0 10px 30px rgba(17, 24, 39, 0.08);
}

.slide-categoria {
    display: inline-block;
    margin-bottom: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(244, 122, 32, 0.12);
    color: #f47a20;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.slide-home-info h2 {
    margin: 0 0 12px;
    font-size: 2rem;
    line-height: 1.15;
    color: #202938;
}

.slide-home-info p {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.7;
    color: #5d6470;
}

.slider-home-controlos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 18px;
}

.slider-seta {
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: #ffffff;
    color: #202938;
    font-size: 1.8rem;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(17, 24, 39, 0.08);
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.slider-seta:hover {
    transform: translateY(-1px);
    background: #f7f7f7;
}

.slider-dots {
    display: flex;
    align-items: center;
    gap: 10px;
}

.slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: none;
    background: #cfd5dd;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
}

.slider-dot.ativo {
    background: #f47a20;
    transform: scale(1.18);
}

.hero-home-texto {
    padding-top: 10px;
}

.hero-home-texto-wrap {
    max-width: 920px;
    text-align: center;
}

.hero-home-texto h1 {
    margin-left: auto;
    margin-right: auto;
    max-width: 880px;
}

.hero-home-texto p {
    margin-left: auto;
    margin-right: auto;
    max-width: 820px;
}

.hero-botoes.centro {
    justify-content: center;
}

@media (max-width: 1080px) {
    .slide-home {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 30px 26px;
    }

    .slide-home img {
        max-height: 300px;
    }

    .slide-home-info h2 {
        font-size: 1.65rem;
    }
}

@media (max-width: 768px) {
    .home-slider-section {
        padding: 22px 16px 8px;
    }

    .slider-home {
        min-height: 0;
        border-radius: 22px;
    }

    .slide-home {
        padding: 20px 18px;
    }

    .slide-home img {
        max-height: 220px;
    }

    .slide-home-info {
        padding: 20px 18px;
        border-radius: 18px;
    }

    .slide-home-info h2 {
        font-size: 1.35rem;
    }

    .slide-home-info p {
        font-size: 0.98rem;
        line-height: 1.6;
    }

    .slider-home-controlos {
        gap: 12px;
    }

    .slider-seta {
        width: 42px;
        height: 42px;
        font-size: 1.5rem;
    }
}

/* =========================================================
   HOMEPAGE V31 - CARROSSEL COM MODELOS DEFINIDOS + VÍDEO
   ========================================================= */
.home-slider-section {
    padding: 46px 24px 18px;
}

.slider-home-outer {
    max-width: 1380px;
}

.slider-home {
    min-height: 550px;
    background:
        radial-gradient(circle at 18% 20%, rgba(244, 122, 32, 0.10), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(0, 114, 188, 0.11), transparent 34%),
        linear-gradient(135deg, #f9fafb 0%, #eef1f5 100%);
}

.slide-home {
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
    gap: 42px;
    padding: 42px 58px;
}

.slide-home img {
    max-height: 430px;
}

.slide-home-info {
    max-width: 480px;
    justify-self: end;
}

.slide-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.slide-tags span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: rgba(244, 122, 32, 0.12);
    color: #d96510;
    font-size: 0.82rem;
    font-weight: 800;
    padding: 7px 12px;
    line-height: 1;
}

.slide-tags span:first-child {
    background: #f47b20;
    color: #ffffff;
}

.slide-home-info h2 {
    font-size: 2.05rem;
}

.slide-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.secao-video-home {
    background: #ffffff;
    padding-top: 52px;
}

.video-home-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 34px;
    align-items: center;
}

.video-home-texto h2 {
    font-size: 36px;
    color: #2f2f2f;
    line-height: 1.15;
    margin: 10px 0 18px;
}

.video-home-texto p {
    color: #666666;
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 24px;
}

.video-home-card {
    min-height: 330px;
    border-radius: 28px;
    padding: 20px;
    background:
        linear-gradient(135deg, rgba(34, 44, 58, 0.92), rgba(34, 44, 58, 0.78)),
        url('../img/site/impressoras.jpg') center/cover no-repeat;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.10);
}

.video-home-placeholder {
    min-height: 290px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    padding: 34px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(4px);
}

.video-play {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: #f47b20;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 18px;
    box-shadow: 0 12px 28px rgba(244, 123, 32, 0.35);
}

.video-home-placeholder h3 {
    font-size: 24px;
    margin-bottom: 8px;
}

.video-home-placeholder p {
    max-width: 520px;
    color: rgba(255, 255, 255, 0.84);
    margin: 0;
}

@media (max-width: 1080px) {
    .slide-home {
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 34px 30px;
    }

    .slide-home-info {
        max-width: none;
        justify-self: stretch;
    }

    .video-home-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .slider-home {
        min-height: 0;
    }

    .slide-home {
        position: relative;
        min-height: 530px;
        padding: 24px 18px;
    }

    .slide-home img {
        max-height: 220px;
    }

    .slide-home-info h2 {
        font-size: 1.35rem;
    }

    .slide-acoes .btn {
        width: 100%;
        text-align: center;
    }

    .video-home-texto h2 {
        font-size: 28px;
    }

    .video-home-card {
        min-height: 280px;
        padding: 14px;
    }

    .video-home-placeholder {
        min-height: 250px;
        padding: 24px;
    }
}

/* =========================================================
   HOMEPAGE V32 - ACABAMENTO VISUAL E TEXTOS DE PRODUÇÃO
   ========================================================= */
.secao-video-home {
    background: #ffffff;
}

.video-home-destaque {
    align-items: stretch;
}

.video-home-texto p + p {
    margin-top: -10px;
}

.video-home-card {
    min-height: 360px;
}

.video-home-placeholder {
    min-height: 360px;
    background:
        radial-gradient(circle at top left, rgba(244, 123, 32, 0.14), transparent 34%),
        linear-gradient(135deg, #202938 0%, #303a4a 100%);
    color: #ffffff;
}

.video-home-placeholder h3 {
    color: #ffffff;
}

.video-home-placeholder p {
    color: rgba(255, 255, 255, 0.78);
}

.secao-equipamentos-home .titulo-secao {
    margin-bottom: 34px;
}

.equipamentos-home-grid .card-imagem {
    background: #ffffff;
}

.equipamentos-home-grid .card-imagem img {
    height: 210px;
    object-fit: contain;
    padding: 24px;
    background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 100%);
}

.equipamento-destaque-card .card-imagem-conteudo {
    padding-top: 22px;
}

.equipamento-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff1e8;
    color: #d96510;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.equipamento-destaque-card h3 {
    margin-bottom: 10px;
}

.equipamento-destaque-card p {
    min-height: 108px;
}

.portal-home-destaque {
    background:
        radial-gradient(circle at top right, rgba(0, 114, 188, 0.08), transparent 34%),
        #ffffff;
}

.suporte-lista-portal div {
    border-left-color: #f47b20;
}

.cta-final .btn-secundario {
    background: #ffffff;
    color: #333333;
}

@media (max-width: 980px) {
    .equipamento-destaque-card p {
        min-height: auto;
    }
}

@media (max-width: 650px) {
    .equipamentos-home-grid .card-imagem img {
        height: 190px;
        padding: 20px;
    }

    .video-home-card,
    .video-home-placeholder {
        min-height: 300px;
    }
}


/* =========================================================
   SUPORTE V33 - ENTRADA ÁREA RESERVADA + LOGIN
   ========================================================= */
.suporte-entrada {
    padding: 72px 0;
    background:
        radial-gradient(circle at top left, rgba(244, 123, 32, 0.10), transparent 34%),
        linear-gradient(135deg, #f8f8f8 0%, #ffffff 70%);
    border-bottom: 1px solid #eeeeee;
}

.suporte-entrada-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
    gap: 32px;
    align-items: stretch;
}

.suporte-area-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06);
}

.suporte-area-info h1 {
    font-size: 44px;
    line-height: 1.12;
    color: #222222;
    margin: 8px 0 16px 0;
}

.suporte-area-info > p,
.suporte-login-destaque > p {
    color: #555555;
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 24px;
}

.suporte-area-lista {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 26px;
}

.suporte-area-lista div {
    background: #f7f7f7;
    border-left: 5px solid #f47b20;
    border-radius: 16px;
    padding: 16px;
}

.suporte-area-lista strong {
    display: block;
    color: #222222;
    font-size: 16px;
    margin-bottom: 4px;
}

.suporte-area-lista span {
    display: block;
    color: #666666;
    font-size: 14px;
    line-height: 1.5;
}

.suporte-login-destaque {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-top: 6px solid #f47b20;
}

.suporte-login-destaque h2 {
    font-size: 34px;
    line-height: 1.18;
    color: #222222;
    margin: 8px 0 14px 0;
}

.btn-login-grande {
    width: 100%;
    text-align: center;
    padding: 15px 22px;
    font-size: 15px;
}

.suporte-login-acoes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.suporte-login-acoes .btn {
    flex: 0 0 auto;
}

.link-recuperar {
    color: #f47b20;
    font-weight: 700;
    font-size: 14px;
}

.link-recuperar:hover {
    color: #d96510;
}

@media (max-width: 980px) {
    .suporte-entrada {
        padding: 48px 0;
    }

    .suporte-entrada-grid {
        grid-template-columns: 1fr;
    }

    .suporte-area-info h1 {
        font-size: 36px;
    }

    .suporte-login-destaque h2 {
        font-size: 30px;
    }
}

@media (max-width: 650px) {
    .suporte-area-card {
        padding: 26px;
        border-radius: 22px;
    }

    .suporte-area-info h1 {
        font-size: 31px;
    }

    .suporte-area-lista {
        grid-template-columns: 1fr;
    }

    .suporte-login-acoes {
        align-items: stretch;
        flex-direction: column;
    }

    .suporte-login-acoes .btn,
    .link-recuperar {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   EQUIPAMENTOS V34 - CATÁLOGO COMERCIAL
   ========================================================= */
.equipamentos-hero {
    padding: 78px 0 58px;
}

.equipamentos-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.65fr);
    gap: 32px;
    align-items: center;
}

.equipamentos-hero-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 26px;
    padding: 28px;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.06);
    border-top: 6px solid #f47b20;
}

.equipamentos-hero-card strong {
    display: block;
    color: #222222;
    font-size: 22px;
    margin-bottom: 8px;
}

.equipamentos-hero-card span {
    display: block;
    color: #666666;
    font-size: 15px;
    line-height: 1.6;
}

.equipamentos-nav-secao {
    position: sticky;
    top: 125px;
    z-index: 80;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #eeeeee;
}

.equipamentos-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 14px 0;
}

.equipamentos-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: #f7f7f7;
    color: #444444;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid #eeeeee;
    transition: all 0.2s ease;
}

.equipamentos-nav a:hover {
    background: #fff1e8;
    color: #d96510;
    border-color: #ffd8bd;
}

.equipamentos-categoria {
    scroll-margin-top: 165px;
}

.titulo-categoria-equipamentos {
    max-width: 820px;
    margin-bottom: 34px;
}

.titulo-categoria-equipamentos span {
    display: inline-block;
    color: #f47b20;
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 8px;
}

.titulo-categoria-equipamentos h2 {
    color: #222222;
    font-size: 34px;
    line-height: 1.18;
    margin-bottom: 10px;
}

.titulo-categoria-equipamentos p {
    color: #666666;
    font-size: 17px;
    line-height: 1.65;
}

.equipamentos-grid-catalogo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.equipamentos-grid-um {
    grid-template-columns: minmax(0, 1fr);
    max-width: 780px;
}

.equipamento-card-catalogo {
    display: grid;
    grid-template-rows: auto 1fr;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 14px 38px rgba(0, 0, 0, 0.055);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.equipamento-card-catalogo:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.08);
}

.equipamento-card-imagem {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 100%);
    padding: 28px;
}

.equipamento-card-imagem img {
    width: 100%;
    height: 255px;
    object-fit: contain;
    filter: drop-shadow(0 14px 18px rgba(0, 0, 0, 0.13));
}

.placeholder-equipamento {
    background:
        radial-gradient(circle at top right, rgba(244, 123, 32, 0.11), transparent 34%),
        linear-gradient(135deg, #f6f6f6 0%, #ffffff 100%);
}

.placeholder-equipamento span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    border: 1px dashed #cccccc;
    border-radius: 16px;
    color: #777777;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.78);
}

.equipamento-card-info {
    display: flex;
    flex-direction: column;
    padding: 28px;
}

.equipamento-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.equipamento-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff1e8;
    color: #d96510;
    font-size: 12px;
    font-weight: 800;
}

.equipamento-card-info h3 {
    color: #222222;
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 12px;
}

.equipamento-card-info p {
    color: #666666;
    line-height: 1.65;
    margin-bottom: 18px;
}

.equipamento-card-info ul {
    list-style: none;
    margin-bottom: 22px;
}

.equipamento-card-info li {
    padding: 8px 0;
    border-bottom: 1px solid #eeeeee;
    color: #444444;
    font-size: 14px;
}

.equipamento-card-info li::before {
    content: "✓";
    color: #f47b20;
    font-weight: 900;
    margin-right: 8px;
}

.equipamento-card-rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: auto;
}

.equipamento-card-rodape span {
    color: #444444;
    font-size: 13px;
    font-weight: 800;
}

.equipamento-card-aviso {
    border-color: #ffe1c8;
}

.equipamento-card-aviso .equipamento-card-info p {
    color: #7a4a20;
}

.equipamentos-nota-final {
    padding-top: 55px;
}

.equipamentos-nota-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    background: #222222;
    color: #ffffff;
    border-radius: 28px;
    padding: 38px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.10);
}

.equipamentos-nota-card h2 {
    font-size: 32px;
    line-height: 1.18;
    margin-bottom: 12px;
    color: #ffffff;
}

.equipamentos-nota-card p {
    color: #dddddd;
    max-width: 760px;
}

@media (max-width: 980px) {
    .equipamentos-hero-grid,
    .equipamentos-grid-catalogo,
    .equipamentos-grid-um,
    .equipamentos-nota-card {
        grid-template-columns: 1fr;
    }

    .equipamentos-nav-secao {
        position: static;
    }

    .titulo-categoria-equipamentos h2 {
        font-size: 30px;
    }

    .equipamentos-nota-card .btn {
        width: fit-content;
    }
}

@media (max-width: 650px) {
    .equipamentos-hero {
        padding: 52px 0 42px;
    }

    .equipamentos-hero-card,
    .equipamento-card-info,
    .equipamentos-nota-card {
        padding: 24px;
    }

    .equipamento-card-imagem {
        min-height: 240px;
        padding: 22px;
    }

    .equipamento-card-imagem img {
        height: 205px;
    }

    .equipamento-card-rodape {
        align-items: stretch;
        flex-direction: column;
    }

    .equipamento-card-rodape .btn,
    .equipamentos-nota-card .btn {
        width: 100%;
        text-align: center;
    }
}


/* =========================================================
   SUPORTE REMOTO PÚBLICO - V40
   ========================================================= */

.suporte-remoto-chamada {
    padding-top: 38px;
    padding-bottom: 38px;
    background: #ffffff;
}

.suporte-remoto-chamada-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    background: linear-gradient(135deg, #fff7f0 0%, #ffffff 62%);
    border: 1px solid #ffe1c8;
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.06);
}

.suporte-remoto-chamada-card h2 {
    color: #222222;
    font-size: 32px;
    line-height: 1.18;
    margin-bottom: 12px;
}

.suporte-remoto-chamada-card p {
    color: #555555;
    font-size: 16px;
    line-height: 1.65;
    max-width: 780px;
}

.suporte-remoto-alerta {
    margin-top: 12px;
    color: #b45309 !important;
    font-weight: 800;
}

.suporte-remoto-chamada-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.suporte-remoto-hero {
    background: linear-gradient(135deg, #f8f8f8 0%, #ffffff 70%);
    border-bottom: 1px solid #eeeeee;
    padding: 76px 0 62px;
}

.suporte-remoto-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 38px;
    align-items: center;
}

.suporte-remoto-hero h1 {
    color: #222222;
    font-size: 46px;
    line-height: 1.12;
    margin-bottom: 18px;
}

.suporte-remoto-hero p {
    color: #555555;
    font-size: 18px;
    line-height: 1.7;
    max-width: 820px;
}

.suporte-remoto-nota-seguranca {
    margin-top: 24px;
    max-width: 840px;
    padding: 16px 18px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 16px;
    color: #9a3412;
    line-height: 1.6;
}

.suporte-remoto-hero-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 26px;
    padding: 30px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.07);
}

.suporte-remoto-hero-card span {
    display: block;
    color: #f47b20;
    font-weight: 800;
    margin-bottom: 8px;
}

.suporte-remoto-hero-card strong {
    display: block;
    color: #222222;
    font-size: 34px;
    line-height: 1.1;
    margin-bottom: 12px;
}

.suporte-remoto-hero-card p {
    font-size: 15px;
    margin: 0;
}

.suporte-remoto-downloads-secao {
    background: #ffffff;
}

.suporte-remoto-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.download-remoto-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 12px 35px rgba(0,0,0,0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.download-remoto-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(0,0,0,0.08);
}

.download-remoto-destaque {
    border-color: #ffd7ba;
}

.download-remoto-icone {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff1e8;
    color: #f47b20;
    font-weight: 900;
    font-size: 24px;
}

.download-remoto-tag {
    display: inline-block;
    margin-bottom: 8px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #f3f4f6;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
}

.download-remoto-card h3 {
    color: #222222;
    font-size: 21px;
    margin-bottom: 6px;
}

.download-remoto-card p {
    color: #666666;
    line-height: 1.55;
    font-size: 15px;
}

.download-remoto-extra {
    grid-column: 2 / -1;
    color: #6b7280;
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 980px) {
    .suporte-remoto-chamada-card,
    .suporte-remoto-hero-grid,
    .suporte-remoto-grid {
        grid-template-columns: 1fr;
    }

    .suporte-remoto-chamada-acoes {
        justify-content: flex-start;
    }

    .suporte-remoto-hero h1 {
        font-size: 36px;
    }
}

@media (max-width: 650px) {
    .suporte-remoto-chamada-card,
    .suporte-remoto-hero-card,
    .download-remoto-card {
        padding: 22px;
    }

    .download-remoto-card {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .download-remoto-extra {
        grid-column: auto;
    }

    .download-remoto-card .btn,
    .suporte-remoto-chamada-acoes .btn {
        width: 100%;
        text-align: center;
    }

    .suporte-remoto-hero {
        padding: 54px 0 42px;
    }

    .suporte-remoto-hero h1 {
        font-size: 31px;
    }
}

.download-remoto-extra {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #f3f3f3;
    color: #333333;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.2s ease;
}

.download-remoto-extra:hover {
    background: #e7e7e7;
    color: #f47b20;
}

.suporte-remoto-downloads-secao {
    padding-bottom: 95px;
}

/* AJUSTES VISUAIS - SUPORTE REMOTO V43 */

.download-remoto-extra {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 12px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #f3f3f3;
    color: #333333;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    transition: all 0.2s ease;
}

.download-remoto-extra:hover {
    background: #e7e7e7;
    color: #f47b20;
}

.suporte-remoto-downloads-secao {
    padding-bottom: 95px;
}

/* PORTAL CLIENTE - ESTADO MPS */

.portal-mps-acoes {
    margin-top: 10px;
}

.btn-mps {
    background: #eef5ff;
    color: #075985;
}

.btn-mps:hover {
    background: #dbeafe;
}

.portal-mps-container {
    margin-top: 12px;
}

.portal-mps-card {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 26px rgba(0,0,0,0.05);
    min-width: 320px;
}

.portal-mps-loading {
    background: #eef5ff;
    color: #075985;
    font-weight: 700;
}

.portal-mps-erro {
    background: #fff7ed;
    color: #c2410c;
    font-weight: 700;
}

.portal-mps-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.portal-mps-topo h4 {
    font-size: 18px;
    color: #222222;
    margin: 0;
}

.portal-mps-meta {
    display: grid;
    gap: 5px;
    margin-bottom: 14px;
    color: #666666;
    font-size: 13px;
}

.portal-mps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}

.portal-mps-grid div {
    background: #fbfbfb;
    border: 1px solid #eeeeee;
    border-radius: 14px;
    padding: 12px;
}

.portal-mps-grid span {
    display: block;
    color: #777777;
    font-size: 12px;
    margin-bottom: 4px;
}

.portal-mps-grid strong {
    display: block;
    color: #222222;
    font-size: 16px;
}

.portal-mps-consumiveis-bloco h5 {
    font-size: 15px;
    color: #222222;
    margin-bottom: 10px;
}

.portal-mps-consumiveis {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.portal-mps-consumivel {
    border: 1px solid #eeeeee;
    border-radius: 14px;
    padding: 12px;
    background: #ffffff;
}

.portal-mps-consumivel strong,
.portal-mps-consumivel span,
.portal-mps-consumivel small {
    display: block;
}

.portal-mps-consumivel strong {
    color: #222222;
    font-size: 13px;
    margin-bottom: 4px;
}

.portal-mps-consumivel span {
    color: #f47b20;
    font-weight: 800;
    font-size: 13px;
}

.portal-mps-consumivel small {
    color: #777777;
    margin-top: 3px;
}

.portal-mps-vazio {
    color: #777777;
    font-size: 13px;
}

.portal-mps-inline {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #eeeeee;
}

@media (max-width: 900px) {
    .portal-mps-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .portal-mps-consumiveis {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .portal-mps-grid {
        grid-template-columns: 1fr;
    }
}


/* PORTAL CLIENTE - MPS VERTICAL V47 */

#equipamentos-cliente .tabela-card {
    overflow-x: auto;
}

#equipamentos-cliente .portal-tabela {
    min-width: 1080px;
}

.portal-equipamento-linha-principal > td {
    vertical-align: top;
}

.portal-mps-detail-row > td {
    padding: 0 16px 26px 16px !important;
    background: #ffffff;
    border-bottom: 1px solid #eeeeee;
}

.portal-mps-container-full {
    width: 100%;
    margin-top: 12px;
}

.portal-mps-card-vertical {
    width: 100%;
    min-width: 0;
    padding: 26px;
    border-radius: 24px;
    background: linear-gradient(135deg, #ffffff 0%, #fbfbfb 100%);
    border: 1px solid #eeeeee;
    box-shadow: 0 16px 40px rgba(0,0,0,0.06);
}

.portal-mps-topo-vertical {
    align-items: flex-start;
    border-bottom: 1px solid #eeeeee;
    padding-bottom: 18px;
    margin-bottom: 18px;
}

.portal-mps-topo-vertical h4 {
    font-size: 22px;
    line-height: 1.25;
    margin: 4px 0 6px 0;
}

.portal-mps-topo-vertical p {
    color: #666666;
    font-size: 14px;
    line-height: 1.6;
}

.portal-mps-meta-vertical {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}

.portal-mps-meta-vertical div {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 16px;
    padding: 14px;
}

.portal-mps-meta-vertical span {
    display: block;
    color: #777777;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 5px;
}

.portal-mps-meta-vertical strong {
    color: #222222;
    font-size: 14px;
}

.portal-mps-secao {
    margin-top: 22px;
}

.portal-mps-secao-topo {
    margin-bottom: 12px;
}

.portal-mps-secao-topo h5 {
    font-size: 17px;
    color: #222222;
    margin-bottom: 2px;
}

.portal-mps-secao-topo p {
    color: #777777;
    font-size: 13px;
}

.portal-mps-grid-vertical {
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 0;
}

.portal-mps-grid-vertical div {
    background: #ffffff;
    border-radius: 16px;
    padding: 16px;
}

.portal-mps-grid-vertical span {
    font-weight: 700;
}

.portal-mps-grid-vertical strong {
    font-size: 20px;
}

.portal-mps-consumiveis-vertical {
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.portal-mps-consumivel {
    border-radius: 18px;
    padding: 15px;
    background: #ffffff;
}

.portal-mps-consumivel-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.portal-mps-consumivel-topo strong {
    font-size: 14px;
    color: #222222;
    margin-bottom: 0;
}

.portal-mps-consumivel-topo span {
    font-size: 14px;
    color: #222222;
    font-weight: 900;
    white-space: nowrap;
}

.portal-mps-barra {
    width: 100%;
    height: 9px;
    background: #eeeeee;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 8px;
}

.portal-mps-barra span {
    display: block;
    height: 100%;
    min-width: 3px;
    border-radius: 999px;
    background: #218a45;
}

.portal-mps-nivel-baixo .portal-mps-barra span {
    background: #f47b20;
}

.portal-mps-nivel-critico .portal-mps-barra span {
    background: #b91c1c;
}

.portal-mps-nivel-indisponivel .portal-mps-barra span {
    background: #999999;
}

.portal-mps-consumivel small {
    color: #777777;
    font-size: 12px;
}

.portal-mps-card-acoes {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eeeeee;
}

.portal-mps-card-acoes .btn {
    border: none;
    cursor: pointer;
}

.portal-mps-loading,
.portal-mps-erro {
    width: 100%;
    min-width: 0;
}

@media (max-width: 1100px) {
    .portal-mps-meta-vertical,
    .portal-mps-grid-vertical,
    .portal-mps-consumiveis-vertical {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    #equipamentos-cliente .portal-tabela {
        min-width: 900px;
    }

    .portal-mps-card-vertical {
        padding: 20px;
    }

    .portal-mps-topo-vertical {
        flex-direction: column;
    }

    .portal-mps-meta-vertical,
    .portal-mps-grid-vertical,
    .portal-mps-consumiveis-vertical {
        grid-template-columns: 1fr;
    }

    .portal-mps-card-acoes {
        flex-direction: column;
    }

    .portal-mps-card-acoes .btn {
        text-align: center;
        width: 100%;
    }
}

/* PORTAL CLIENTE - AJUSTES MPS V48 */

.portal-mps-consumivel-alerta {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 2px 0 7px 0;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.portal-mps-nivel-critico {
    border-color: rgba(185, 28, 28, 0.22);
    background: #fffafa;
}

.portal-mps-nivel-critico .portal-mps-consumivel-alerta {
    background: #fef2f2;
    color: #b91c1c;
}

.portal-mps-nivel-baixo {
    border-color: rgba(244, 123, 32, 0.24);
    background: #fffaf5;
}

.portal-mps-nivel-baixo .portal-mps-consumivel-alerta {
    background: #fff1e8;
    color: #c2410c;
}

.portal-mps-card-acoes a.btn {
    cursor: pointer;
}

.portal-mps-meta-vertical strong {
    word-break: break-word;
}

/* PORTAL CLIENTE - RESUMO DO CLIENTE V49 */

.portal-resumo-cliente-card {
    min-width: 0;
}

.portal-resumo-cliente-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.portal-resumo-cliente-topo h3 {
    font-size: 24px;
    line-height: 1.2;
    color: #222222;
    margin: 0 0 6px 0;
}

.portal-resumo-cliente-topo p {
    color: #666666;
    font-size: 14px;
    margin: 0;
}

.portal-resumo-metricas,
.portal-resumo-linha-final {
    display: grid;
    gap: 12px;
}

.portal-resumo-metricas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 12px;
}

.portal-resumo-linha-final {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.portal-resumo-metricas div,
.portal-resumo-linha-final div {
    background: #fbfbfb;
    border: 1px solid #eeeeee;
    border-radius: 16px;
    padding: 14px;
}

.portal-resumo-metricas span,
.portal-resumo-linha-final span {
    display: block;
    color: #777777;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 5px;
}

.portal-resumo-metricas strong,
.portal-resumo-linha-final strong {
    display: block;
    color: #222222;
    font-size: 23px;
    line-height: 1;
}

.portal-resumo-metricas strong.portal-resumo-alerta,
#resumo-alertas.portal-resumo-alerta {
    color: #c2410c;
}

.portal-resumo-ultimo-acesso {
    margin: 16px 0 0 0 !important;
    color: #666666 !important;
    font-size: 14px !important;
}

@media (max-width: 700px) {
    .portal-resumo-cliente-topo,
    .portal-resumo-linha-final {
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .portal-resumo-metricas,
    .portal-resumo-linha-final {
        grid-template-columns: 1fr;
    }
}

/* PORTAL CLIENTE - TOPO COMPACTO HORIZONTAL V50 */

.portal-hero-compacto {
    padding: 46px 0 54px 0;
}

.portal-hero-stack {
    display: grid;
    gap: 24px;
}

.portal-area-reservada-card {
    max-width: 860px;
    padding: 6px 0 0 0;
}

.portal-area-reservada-card h1 {
    font-size: 40px;
    line-height: 1.13;
    color: #222222;
    margin: 10px 0 14px 0;
}

.portal-area-reservada-card p {
    max-width: 820px;
    color: #555555;
    font-size: 17px;
    line-height: 1.7;
}

.portal-resumo-horizontal {
    display: grid;
    grid-template-columns: minmax(260px, 1.25fr) minmax(520px, 2.7fr) auto;
    gap: 18px;
    align-items: center;
    padding: 22px 26px;
    border-radius: 22px;
}

.portal-resumo-horizontal .portal-resumo-cliente-topo {
    margin-bottom: 0;
    align-items: center;
}

.portal-resumo-horizontal .portal-resumo-cliente-topo h3 {
    font-size: 22px;
    line-height: 1.15;
    margin-bottom: 4px;
}

.portal-resumo-horizontal .portal-resumo-cliente-topo p {
    font-size: 13px;
}

.portal-resumo-horizontal .portal-resumo-metricas {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.portal-resumo-horizontal .portal-resumo-metricas div {
    padding: 11px 12px;
    border-radius: 14px;
    min-height: 70px;
}

.portal-resumo-horizontal .portal-resumo-metricas span {
    font-size: 11px;
    line-height: 1.2;
    min-height: 26px;
    margin-bottom: 4px;
}

.portal-resumo-horizontal .portal-resumo-metricas strong {
    font-size: 22px;
}

.portal-resumo-horizontal .portal-resumo-linha-final {
    display: none;
}

.portal-resumo-horizontal .portal-resumo-ultimo-acesso {
    min-width: 145px;
    margin: 0 !important;
    text-align: right;
    font-size: 13px !important;
}

@media (max-width: 1180px) {
    .portal-resumo-horizontal {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .portal-resumo-horizontal .portal-resumo-cliente-topo {
        align-items: flex-start;
    }

    .portal-resumo-horizontal .portal-resumo-metricas {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .portal-resumo-horizontal .portal-resumo-ultimo-acesso {
        text-align: left;
    }
}

@media (max-width: 700px) {
    .portal-hero-compacto {
        padding: 34px 0 42px 0;
    }

    .portal-resumo-horizontal {
        padding: 22px;
    }

    .portal-resumo-horizontal .portal-resumo-metricas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-area-reservada-card h1 {
        font-size: 31px;
    }

    .portal-area-reservada-card p {
        font-size: 16px;
    }
}

/* PAINEL INTERNO - ESTADO MPS V51 */

.painel-mps-hero {
    padding: 70px 0 52px 0;
}

.painel-mps-resumo-secao {
    padding: 42px 0;
}

.painel-mps-resumo-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
}

.painel-mps-filtros {
    grid-template-columns: 1.35fr 0.65fr 0.75fr 0.9fr auto;
}

.painel-mps-acoes-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.painel-mps-total-lista {
    color: #666666;
    font-size: 14px;
    font-weight: 700;
}

.painel-mps-tabela {
    min-width: 1450px;
}

.painel-mps-tabela td span {
    display: inline-block;
    color: #666666;
    font-size: 13px;
    line-height: 1.45;
}

.painel-mps-mini-alertas {
    margin-top: 8px;
}

.painel-mps-alertas {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.painel-mps-alerta {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
}

.painel-mps-alerta-critico {
    background: #fef2f2;
    color: #b91c1c;
}

.painel-mps-alerta-baixo,
.painel-mps-alerta-aviso {
    background: #fff7ed;
    color: #c2410c;
}

.painel-mps-sem-alertas {
    display: inline-flex;
    width: fit-content;
    padding: 6px 9px;
    border-radius: 999px;
    background: #ecfdf3;
    color: #166534;
    font-size: 11px;
    font-weight: 800;
}

.painel-mps-detalhe-row td {
    background: #fbfbfb;
    padding: 0 !important;
}

.painel-mps-detalhe-card {
    margin: 18px;
    padding: 26px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 22px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.05);
}

.painel-mps-detalhe-topo {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eeeeee;
    margin-bottom: 20px;
}

.painel-mps-detalhe-topo h3 {
    font-size: 24px;
    color: #222222;
    margin: 6px 0 4px 0;
}

.painel-mps-detalhe-topo p {
    color: #666666;
}

.painel-mps-detalhe-card h4 {
    margin: 22px 0 10px 0;
    font-size: 18px;
    color: #222222;
}

.painel-mps-consumiveis-grid {
    grid-template-columns: repeat(4, 1fr);
}

.painel-mps-vazio {
    color: #777777;
    background: #f7f7f7;
    border: 1px solid #eeeeee;
    border-radius: 14px;
    padding: 16px;
}

.painel-mps-detalhe-acoes {
    display: flex;
    justify-content: flex-end;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #eeeeee;
}

.painel-mps-nivel-critico {
    border-color: rgba(185, 28, 28, 0.22);
    background: #fffafa;
}

.painel-mps-nivel-baixo {
    border-color: rgba(244, 123, 32, 0.24);
    background: #fffaf5;
}

@media (max-width: 1200px) {
    .painel-mps-resumo-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .painel-mps-filtros {
        grid-template-columns: 1fr 1fr;
    }

    .painel-mps-filtros .painel-filtros-botoes {
        grid-column: 1 / -1;
    }

    .painel-mps-consumiveis-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .painel-mps-resumo-grid {
        grid-template-columns: 1fr 1fr;
    }

    .painel-mps-filtros {
        grid-template-columns: 1fr;
    }

    .painel-mps-acoes-topo {
        align-items: stretch;
        flex-direction: column;
    }

    .painel-mps-consumiveis-grid {
        grid-template-columns: 1fr;
    }

    .painel-mps-detalhe-topo {
        flex-direction: column;
    }
}

/* PAINEL MPS - ATUALIZAÇÃO EM LOTE V55 */

.painel-mps-acoes-topo-v55 {
    align-items: flex-start;
    gap: 16px;
}

.painel-mps-acoes-grupo {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.painel-mps-acoes-grupo .btn {
    border: none;
    cursor: pointer;
}

.painel-mps-acoes-grupo .btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.painel-mps-btn-cancelar {
    background: #fef2f2;
    color: #b91c1c;
}

.painel-mps-btn-cancelar:hover {
    background: #fee2e2;
    color: #991b1b;
}

.painel-mps-progresso {
    flex: 1 1 100%;
    background: #eef5ff;
    color: #075985;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 700px) {
    .painel-mps-acoes-grupo {
        flex-direction: column;
        align-items: stretch;
    }

    .painel-mps-acoes-grupo .btn {
        width: 100%;
    }
}

/* GESTÃO UTILIZADORES - ACESSOS POR CONTRATOS ATIVOS V56 */

.acessos-contratos-card {
    margin-top: 28px;
    margin-bottom: 28px;
}

.acessos-contratos-card .utilizadores-topo p {
    max-width: 760px;
    margin-top: 6px;
    color: #666666;
    font-size: 15px;
}

.utilizadores-filtros-contratos {
    grid-template-columns: 1.4fr 0.8fr auto;
    margin-top: 22px;
    margin-bottom: 24px;
}

.utilizadores-resumo-sugestoes {
    grid-template-columns: repeat(5, 1fr);
    margin-bottom: 24px;
}

.acessos-contratos-tabela {
    min-width: 1050px;
}

.acessos-contratos-tabela td span {
    display: block;
    color: #666666;
    font-size: 13px;
    margin-top: 3px;
}

.texto-aviso {
    color: #c2410c !important;
    font-weight: 800;
}

.sugestao-utilizador-existente {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 12px;
    background: #f7f7f7;
    color: #444444;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 1100px) {
    .utilizadores-filtros-contratos {
        grid-template-columns: 1fr 1fr;
    }

    .utilizadores-filtros-contratos .painel-filtros-botoes {
        grid-column: 1 / -1;
    }

    .utilizadores-resumo-sugestoes {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 700px) {
    .utilizadores-filtros-contratos {
        grid-template-columns: 1fr;
    }

    .utilizadores-resumo-sugestoes {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* GESTÃO UTILIZADORES - CRIAÇÃO AUTOMÁTICA POR CONTRATOS V57 */

.acessos-contratos-acoes-topo {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
}

.coluna-selecao-acesso {
    width: 58px;
    text-align: center !important;
}

.checkbox-sugestao-acesso {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #f47b20;
}

.checkbox-sugestao-acesso:disabled {
    cursor: not-allowed;
    opacity: 0.35;
}

.linha-pode-criar {
    background: #ffffff;
}

.linha-sem-criacao {
    background: #fcfcfc;
}

.resultado-criacao-acessos {
    margin: 0 0 24px 0;
}

.resultado-criacao-card {
    border-radius: 22px;
    padding: 22px;
    border: 1px solid #eeeeee;
    background: #ffffff;
    box-shadow: 0 14px 35px rgba(0,0,0,0.05);
}

.resultado-criacao-card.sucesso {
    border-color: rgba(22, 101, 52, 0.18);
    background: #fbfffd;
}

.resultado-criacao-card.aviso {
    border-color: rgba(194, 65, 12, 0.18);
    background: #fffaf5;
    color: #c2410c;
    font-weight: 800;
}

.resultado-criacao-topo h3 {
    font-size: 24px;
    color: #222222;
    margin-bottom: 6px;
}

.resultado-criacao-topo p {
    color: #666666;
    font-size: 14px;
    margin-bottom: 18px;
}

.resultado-criacao-tabela-wrapper {
    margin-top: 16px;
    box-shadow: none;
}

.resultado-criacao-tabela {
    min-width: 720px;
}

.resultado-criacao-tabela code {
    display: inline-block;
    padding: 7px 10px;
    border-radius: 10px;
    background: #f7f7f7;
    color: #222222;
    font-weight: 800;
    font-size: 13px;
}

.resultado-criacao-ignorados {
    margin-top: 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 14px;
}

.resultado-criacao-ignorados ul {
    margin: 8px 0 0 18px;
}

.resultado-criacao-ignorados li {
    margin-bottom: 5px;
}

@media (max-width: 700px) {
    .acessos-contratos-acoes-topo {
        justify-content: stretch;
    }

    .acessos-contratos-acoes-topo .btn {
        width: 100%;
    }
}

/* GESTÃO UTILIZADORES - PASSWORDS AUTO CONTRATOS V58 */

.bloco-recuperar-passwords-auto {
    margin-top: 18px;
    border-color: rgba(244, 123, 32, 0.22);
    background: #fffaf5;
}

.resultado-passwords-aviso {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 14px;
    font-weight: 700;
}

.resultado-passwords-aviso strong {
    display: block;
    color: #7c2d12;
    margin-bottom: 4px;
}


/* GESTÃO UTILIZADORES - MULTI-CLIENTE V59 */
.sugestao-utilizador-existente {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 12px;
    background: #eef5ff;
    color: #075985;
    font-size: 12px;
    font-weight: 700;
}

.acessos-contratos-acoes-topo {
    flex-wrap: wrap;
}

.acessos-contratos-card .estado-aprovado {
    background: #ecfdf3;
    color: #166534;
}

.resultado-criacao-card.sucesso code {
    font-size: 13px;
}


/* AJUSTES SILVERTIC v70 - Suporte mais compacto e portal com atalhos rápidos */
.suporte-rapido-secao {
    padding: 42px 0 24px;
    background: linear-gradient(135deg, #ffffff 0%, #fbfbfb 100%);
    border-bottom: 1px solid #f1f1f1;
}

.suporte-rapido-stack {
    display: grid;
    gap: 18px;
}

.suporte-portal-card,
.suporte-remoto-card-compacto {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 24px;
    box-shadow: 0 14px 38px rgba(0,0,0,0.055);
}

.suporte-portal-card.compacto-principal {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    padding: 26px 32px;
    border-top: 5px solid #f47b20;
}

.suporte-portal-conteudo h1 {
    font-size: 34px;
    line-height: 1.15;
    color: #222222;
    margin: 8px 0 8px;
}

.suporte-portal-conteudo p,
.suporte-remoto-card-compacto p {
    color: #555555;
    font-size: 16px;
    line-height: 1.55;
    margin: 0;
}

.suporte-portal-acoes,
.suporte-remoto-botoes-compactos {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.suporte-remoto-card-compacto {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
    padding: 22px 28px;
    background: #fffaf6;
    border-color: rgba(244,123,32,0.18);
}

.suporte-remoto-card-compacto h2 {
    font-size: 25px;
    color: #222222;
    margin: 7px 0 6px;
}

.secao-suporte-compacta {
    padding: 30px 0 54px;
}

.suporte-mini-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.suporte-mini-card {
    display: grid;
    gap: 6px;
    padding: 18px;
    border: 1px solid #eeeeee;
    border-radius: 18px;
    background: #ffffff;
    color: #222222;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.suporte-mini-card:hover {
    transform: translateY(-3px);
    border-color: rgba(244,123,32,0.35);
    box-shadow: 0 12px 30px rgba(0,0,0,0.07);
}

.suporte-mini-card span {
    font-size: 24px;
}

.suporte-mini-card strong {
    font-size: 17px;
}

.suporte-mini-card small {
    color: #666666;
    font-size: 13px;
}

.cta-final-compacta {
    padding: 42px 0;
}

.portal-hero.portal-hero-compacto {
    padding: 34px 0 26px;
}

.portal-hero-stack {
    display: grid;
    gap: 16px;
}

.portal-resumo-cliente-card {
    padding: 24px 26px;
}

.portal-resumo-horizontal {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr) auto;
    gap: 22px;
    align-items: center;
}

.portal-resumo-cliente-topo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
}

.portal-resumo-cliente-topo h3 {
    font-size: 22px;
    line-height: 1.08;
    color: #222222;
    margin: 6px 0 6px;
}

.portal-resumo-cliente-topo p {
    margin: 0;
    font-size: 13px;
}

.portal-resumo-metricas {
    display: grid;
    grid-template-columns: repeat(6, minmax(82px, 1fr));
    gap: 10px;
}

.portal-metrica-card,
.portal-resumo-metricas > div {
    display: grid;
    align-content: center;
    gap: 6px;
    min-height: 76px;
    padding: 13px 14px;
    border: 1px solid #eeeeee;
    border-radius: 14px;
    background: #ffffff;
    color: #222222;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.portal-metrica-card:hover {
    transform: translateY(-2px);
    border-color: rgba(244,123,32,0.36);
    box-shadow: 0 10px 22px rgba(0,0,0,0.07);
}

.portal-metrica-card span,
.portal-resumo-metricas > div span {
    font-size: 12px;
    line-height: 1.15;
    color: #555555;
    font-weight: 700;
}

.portal-metrica-card strong,
.portal-resumo-metricas > div strong {
    font-size: 25px;
    color: #111827;
    line-height: 1;
}

.portal-metrica-alerta strong {
    color: #f47b20;
}

.portal-resumo-ultimo-acesso {
    margin: 0 !important;
    font-size: 13px !important;
    white-space: nowrap;
    color: #555555 !important;
}

.portal-boas-vindas-compacto {
    padding: 18px 24px;
    border-radius: 18px;
    box-shadow: none;
}

.portal-boas-vindas-compacto h1 {
    font-size: 26px;
    margin: 6px 0 6px;
}

.portal-boas-vindas-compacto p {
    font-size: 15px;
    margin: 0;
}

.portal-atalhos-secao {
    padding: 26px 0 38px;
}

.portal-atalhos-topo {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 16px;
}

.portal-atalhos-topo h2 {
    font-size: 30px;
    color: #222222;
    margin: 0;
}

.portal-atalhos-compactos {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.portal-atalho {
    min-height: 112px;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: 16px;
    border: 1px solid #eeeeee;
    border-radius: 18px;
    background: #ffffff;
    color: #222222;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.portal-atalho:hover {
    transform: translateY(-3px);
    border-color: rgba(244,123,32,0.38);
    box-shadow: 0 14px 32px rgba(0,0,0,0.08);
}

.portal-atalho.principal {
    border-top: 4px solid #f47b20;
}

.portal-atalho span {
    font-size: 24px;
}

.portal-atalho strong {
    font-size: 16px;
    line-height: 1.2;
}

.portal-atalho small {
    color: #666666;
    font-size: 12px;
    line-height: 1.25;
}

.portal-lista-compacta .portal-lista-item {
    padding: 16px 18px;
}

@media (max-width: 1180px) {
    .portal-resumo-horizontal {
        grid-template-columns: 1fr;
    }

    .portal-resumo-cliente-topo {
        grid-template-columns: 1fr auto;
    }

    .portal-resumo-metricas,
    .portal-atalhos-compactos {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .portal-resumo-ultimo-acesso {
        white-space: normal;
    }
}

@media (max-width: 980px) {
    .suporte-portal-card.compacto-principal,
    .suporte-remoto-card-compacto {
        grid-template-columns: 1fr;
    }

    .suporte-portal-acoes,
    .suporte-remoto-botoes-compactos {
        justify-content: flex-start;
    }

    .suporte-mini-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .suporte-rapido-secao {
        padding-top: 26px;
    }

    .suporte-portal-card.compacto-principal,
    .suporte-remoto-card-compacto {
        padding: 22px;
    }

    .suporte-portal-conteudo h1 {
        font-size: 28px;
    }

    .suporte-portal-acoes .btn,
    .suporte-remoto-botoes-compactos .btn {
        width: 100%;
        text-align: center;
    }

    .suporte-mini-grid,
    .portal-resumo-metricas,
    .portal-atalhos-compactos {
        grid-template-columns: 1fr;
    }

    .portal-atalhos-topo {
        display: block;
    }

    .portal-atalhos-topo h2 {
        font-size: 26px;
        margin-top: 5px;
    }
}

/* PORTAL CLIENTE - BLOCO SUPERIOR + CONSUMÍVEIS COMPACTOS V71 */
.portal-resumo-horizontal {
    grid-template-columns: minmax(235px, 0.95fr) minmax(520px, 2.45fr) minmax(170px, 0.72fr) !important;
    gap: 16px !important;
    padding: 18px 22px !important;
    border-radius: 20px !important;
}

.portal-resumo-horizontal .portal-resumo-cliente-topo h3 {
    font-size: 20px !important;
    line-height: 1.08 !important;
    margin: 4px 0 5px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.portal-resumo-horizontal .estado-ativo,
.portal-resumo-horizontal .estado-alerta {
    padding: 7px 10px;
    font-size: 12px;
    white-space: nowrap;
}

.portal-resumo-horizontal .portal-metrica-card {
    min-height: 62px;
    padding: 10px 11px;
    border-radius: 13px;
}

.portal-resumo-horizontal .portal-metrica-card span {
    min-height: 22px;
    font-size: 10.5px;
    line-height: 1.08;
}

.portal-resumo-horizontal .portal-metrica-card strong {
    font-size: 21px;
}

.portal-widget-lateral {
    display: grid;
    gap: 8px;
    justify-items: stretch;
    align-self: stretch;
}

.portal-relogio-widget,
.portal-tempo-widget {
    border: 1px solid #eeeeee;
    background: #fbfbfb;
    border-radius: 14px;
    padding: 10px 12px;
}

.portal-relogio-widget strong {
    display: block;
    font-size: 23px;
    line-height: 1;
    color: #222222;
}

.portal-relogio-widget span,
.portal-tempo-widget span,
.portal-tempo-widget strong {
    display: block;
}

.portal-relogio-widget span,
.portal-tempo-widget span {
    color: #666666;
    font-size: 11px;
    font-weight: 700;
    margin-top: 4px;
}

.portal-tempo-widget strong {
    color: #222222;
    font-size: 12px;
    line-height: 1.25;
    margin-top: 2px;
}

.portal-widget-lateral .portal-resumo-ultimo-acesso {
    white-space: normal !important;
    text-align: left !important;
    font-size: 11.5px !important;
    line-height: 1.25;
    color: #666666 !important;
}

.portal-consumiveis-card-compacto {
    max-width: 900px;
    padding: 22px 24px;
    border-radius: 22px;
}

.portal-consumiveis-cabecalho {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
    margin-bottom: 14px;
}

.portal-consumiveis-cabecalho h2 {
    margin: 7px 0 4px;
    font-size: 25px;
    line-height: 1.12;
    color: #222222;
}

.portal-consumiveis-cabecalho p {
    margin: 0;
    color: #555555;
    font-size: 14.5px;
    line-height: 1.45;
}

.portal-form-equipamento-compacto {
    gap: 8px;
}

.portal-form-equipamento-compacto .form-grupo {
    gap: 5px;
}

.portal-equipamento-mini-card {
    margin-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 15px;
    border: 1px solid #eeeeee;
    border-radius: 16px;
    background: #fbfbfb;
}

.portal-equipamento-mini-card strong,
.portal-equipamento-mini-card small {
    display: block;
}

.portal-equipamento-mini-card strong {
    color: #222222;
    font-size: 15px;
    margin-top: 3px;
}

.portal-equipamento-mini-card small {
    color: #666666;
    font-size: 12px;
    margin-top: 3px;
}

.portal-equipamento-mini-status {
    white-space: nowrap;
    padding: 8px 11px;
    border-radius: 999px;
    background: #eef5ff;
    color: #075985;
    font-size: 12px;
    font-weight: 800;
}

.portal-pedido-consumivel-compacto {
    margin-top: 14px;
}

.portal-mps-aviso {
    display: grid;
    gap: 3px;
    padding: 11px 13px;
    border-radius: 15px;
    margin-bottom: 12px;
    font-size: 13px;
}

.portal-mps-aviso strong {
    color: #222222;
}

.portal-mps-aviso span,
.portal-mps-aviso small {
    color: #555555;
    line-height: 1.35;
}

.portal-mps-aviso-ok {
    background: #ecfdf3;
    border: 1px solid #d7f8e3;
}

.portal-mps-aviso-amarelo {
    background: #fff7ed;
    border: 1px solid #fed7aa;
}

.portal-mps-aviso-critico {
    background: #fef2f2;
    border: 1px solid #fecaca;
}

.portal-consumiveis-lista-topo {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 8px;
}

.portal-consumiveis-lista-topo strong {
    font-size: 15px;
    color: #222222;
}

.portal-consumiveis-lista-topo small {
    font-size: 12px;
    color: #666666;
}

.portal-consumiveis-opcoes {
    display: grid;
    gap: 8px;
}

.portal-consumivel-opcao {
    display: grid;
    grid-template-columns: auto minmax(190px, 1.5fr) minmax(110px, 0.7fr) minmax(90px, 0.65fr) minmax(150px, 1fr);
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid #eeeeee;
    border-radius: 15px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.portal-consumivel-opcao:hover {
    border-color: rgba(244,123,32,0.34);
    box-shadow: 0 8px 20px rgba(0,0,0,0.05);
}

.portal-consumivel-opcao.bloqueado {
    opacity: 0.68;
    cursor: not-allowed;
    background: #fafafa;
}

.portal-consumivel-opcao input {
    width: 18px;
    height: 18px;
    accent-color: #f47b20;
}

.portal-consumivel-info strong,
.portal-consumivel-info small,
.portal-consumivel-nivel strong,
.portal-consumivel-paginas,
.portal-consumivel-estado {
    display: block;
}

.portal-consumivel-info strong {
    color: #222222;
    font-size: 14px;
    line-height: 1.2;
}

.portal-consumivel-info small,
.portal-consumivel-paginas,
.portal-consumivel-estado {
    color: #666666;
    font-size: 12px;
    line-height: 1.25;
}

.portal-consumivel-nivel strong {
    color: #222222;
    font-size: 15px;
    margin-bottom: 5px;
}

.portal-percentagens-manuais-card {
    margin-top: 12px;
    padding: 12px 13px;
    border-radius: 15px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
}

.portal-percentagens-manuais-card strong,
.portal-percentagens-manuais-card small {
    display: block;
}

.portal-percentagens-manuais-card strong {
    color: #222222;
    font-size: 14px;
}

.portal-percentagens-manuais-card small {
    color: #666666;
    font-size: 12px;
    margin-top: 2px;
}

.portal-percentagens-manuais-grid {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.portal-percentagem-manual {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 92px;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #f2e3d5;
}

.portal-percentagem-manual span {
    font-size: 12px;
    color: #333333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-percentagem-manual input {
    padding: 8px 9px;
    border-radius: 10px;
    border: 1px solid #dddddd;
    font-size: 13px;
}

.portal-observacoes-compactas {
    margin-top: 10px;
}

.portal-pedido-acoes-compactas {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-top: 6px;
}

.portal-pedido-acoes-compactas small {
    color: #666666;
    font-size: 12px;
    line-height: 1.3;
}

.portal-pedido-acoes-compactas .btn {
    min-width: 230px;
}

@media (max-width: 1180px) {
    .portal-resumo-horizontal {
        grid-template-columns: 1fr !important;
    }

    .portal-widget-lateral {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }
}

@media (max-width: 820px) {
    .portal-consumivel-opcao {
        grid-template-columns: auto 1fr;
    }

    .portal-consumivel-nivel,
    .portal-consumivel-paginas,
    .portal-consumivel-estado {
        grid-column: 2;
    }

    .portal-percentagens-manuais-grid,
    .portal-widget-lateral {
        grid-template-columns: 1fr;
    }

    .portal-pedido-acoes-compactas,
    .portal-equipamento-mini-card,
    .portal-consumiveis-lista-topo {
        align-items: stretch;
        flex-direction: column;
    }

    .portal-pedido-acoes-compactas .btn {
        min-width: 0;
        width: 100%;
    }
}

/* PORTAL CLIENTE - DASHBOARD COM BARRA DE ESTADO V71D */
.portal-hero-dashboard {
    padding-top: 28px !important;
    padding-bottom: 22px !important;
}

.portal-hero-dashboard .portal-hero-stack {
    gap: 12px !important;
}

.portal-status-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 16px;
    border: 1px solid #eeeeee;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(0,0,0,0.045);
}

.portal-status-identidade {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 180px;
}

.portal-status-identidade .etiqueta {
    margin: 0;
    white-space: nowrap;
}

.portal-status-identidade strong {
    font-size: 15px;
    color: #222222;
    white-space: nowrap;
}

.portal-status-widgets {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

.portal-status-pill {
    min-width: 134px;
    display: grid;
    align-content: center;
    gap: 2px;
    padding: 8px 12px;
    border: 1px solid #eeeeee;
    border-radius: 13px;
    background: #fbfbfb;
}

.portal-status-pill span,
.portal-status-pill small {
    display: block;
    color: #666666;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
}

.portal-status-pill strong {
    display: block;
    color: #222222;
    font-size: 13px;
    line-height: 1.15;
}

.portal-status-pill.portal-relogio-widget strong {
    font-size: 22px;
    line-height: 1;
}

.portal-status-pill.portal-tempo-widget strong,
.portal-status-pill.portal-sessao-widget strong {
    font-size: 12.5px;
}

.portal-resumo-horizontal-v71d {
    grid-template-columns: minmax(210px, 0.78fr) minmax(560px, 2.35fr) !important;
    gap: 16px !important;
    padding: 17px 22px !important;
    border-radius: 18px !important;
    align-items: center !important;
}

.portal-resumo-horizontal-v71d .portal-resumo-cliente-topo {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
}

.portal-resumo-horizontal-v71d .portal-resumo-cliente-topo h3 {
    font-size: 20px !important;
    line-height: 1.07 !important;
    margin: 4px 0 5px !important;
    max-width: 100%;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.portal-resumo-horizontal-v71d .portal-resumo-cliente-topo p {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}

.portal-resumo-horizontal-v71d .estado-ativo,
.portal-resumo-horizontal-v71d .estado-alerta {
    padding: 7px 10px !important;
    font-size: 12px !important;
    white-space: nowrap;
}

.portal-resumo-horizontal-v71d .portal-resumo-metricas {
    grid-template-columns: repeat(6, minmax(84px, 1fr)) !important;
    gap: 9px !important;
}

.portal-resumo-horizontal-v71d .portal-metrica-card {
    min-height: 60px !important;
    padding: 10px 11px !important;
    border-radius: 13px !important;
}

.portal-resumo-horizontal-v71d .portal-metrica-card span {
    min-height: 0 !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
}

.portal-resumo-horizontal-v71d .portal-metrica-card strong {
    font-size: 22px !important;
}

@media (max-width: 1180px) {
    .portal-status-topbar {
        align-items: stretch;
        flex-direction: column;
    }

    .portal-status-widgets {
        justify-content: flex-start;
    }

    .portal-resumo-horizontal-v71d {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .portal-status-identidade {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .portal-status-widgets {
        display: grid;
        grid-template-columns: 1fr;
    }

    .portal-status-pill {
        min-width: 0;
    }

    .portal-resumo-horizontal-v71d .portal-resumo-metricas {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* PORTAL CLIENTE - WIDGETS NO CABEÇALHO V71F */
.pagina-portal .topo .container {
    max-width: 1280px;
    width: 94%;
}

.pagina-portal .topo-conteudo {
    height: 102px;
    gap: 14px;
}

.pagina-portal .logo-area {
    width: 300px;
    height: 96px;
    flex: 0 0 300px;
}

.pagina-portal .logo {
    height: 160px;
    transform: translateY(-10px);
}

.pagina-portal .menu {
    gap: 14px;
    font-size: 14px;
    flex: 0 1 auto;
    white-space: nowrap;
}

.pagina-portal .topo-botoes {
    flex: 0 0 auto;
}

.pagina-portal .topo-botoes .btn {
    padding: 10px 15px;
    border-radius: 12px;
    font-size: 13px;
}

.portal-header-status {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.portal-header-pill {
    min-height: 42px;
    display: grid;
    align-content: center;
    gap: 1px;
    padding: 7px 10px;
    border: 1px solid #eeeeee;
    border-radius: 12px;
    background: #fbfbfb;
    line-height: 1.1;
}

.portal-header-clock {
    min-width: 76px;
}

.portal-header-weather {
    min-width: 132px;
}

.portal-header-session {
    min-width: 92px;
}

.portal-header-pill span,
.portal-header-pill small {
    color: #666666;
    font-size: 10.5px;
    font-weight: 700;
}

.portal-header-pill strong {
    color: #111111;
    font-size: 11.5px;
    font-weight: 800;
}

.portal-header-clock strong {
    font-size: 20px;
    line-height: 0.95;
}

.portal-header-clock small {
    font-size: 10px;
}

.pagina-portal .portal-hero-dashboard {
    padding-top: 20px !important;
}

.pagina-portal .portal-hero-dashboard .portal-hero-stack {
    gap: 10px !important;
}

/* A antiga barra de estado deixa de ocupar espaço no portal. */
.pagina-portal .portal-status-topbar {
    display: none !important;
}

@media (max-width: 1240px) {
    .pagina-portal .topo-conteudo {
        gap: 10px;
    }

    .pagina-portal .logo-area {
        width: 260px;
        flex-basis: 260px;
    }

    .pagina-portal .logo {
        height: 145px;
    }

    .pagina-portal .menu {
        gap: 10px;
        font-size: 13px;
    }

    .portal-header-weather {
        min-width: 112px;
    }

    .portal-header-session {
        display: none;
    }
}

@media (max-width: 1040px) {
    .portal-header-status {
        display: none;
    }
}

@media (max-width: 760px) {
    .pagina-portal .topo-conteudo {
        height: auto;
    }

    .pagina-portal .logo-area {
        width: 100%;
        flex-basis: auto;
    }
}


/* v71g - Pedido de consumíveis compacto e baseado nas associações WebApp */
.portal-consumiveis-lista-topo-compacto {
    margin-top: 8px;
    margin-bottom: 6px;
    padding-bottom: 5px;
    border-bottom: 1px solid #eeeeee;
}

.portal-consumiveis-compactos {
    display: grid;
    gap: 8px;
}

.portal-consumiveis-grupo {
    border: 1px solid #eeeeee;
    border-radius: 14px;
    background: #ffffff;
    overflow: hidden;
}

.portal-consumiveis-grupo-titulo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    background: #fafafa;
    border-bottom: 1px solid #eeeeee;
}

.portal-consumiveis-grupo-titulo strong {
    color: #222222;
    font-size: 13px;
}

.portal-consumiveis-grupo-titulo small {
    color: #777777;
    font-size: 11px;
}

.portal-consumiveis-linhas {
    display: grid;
}

.portal-consumivel-linha {
    display: grid;
    grid-template-columns: 22px minmax(88px, 0.7fr) minmax(140px, 1.1fr) minmax(72px, 0.55fr) minmax(82px, 0.55fr) minmax(102px, 0.65fr);
    gap: 9px;
    align-items: center;
    min-height: 44px;
    padding: 7px 10px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
}

.portal-consumivel-linha:last-child {
    border-bottom: 0;
}

.portal-consumivel-linha:hover {
    background: #fffaf6;
}

.portal-consumivel-linha.bloqueado {
    opacity: 0.62;
    cursor: not-allowed;
    background: #fafafa;
}

.portal-consumivel-linha > input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #f47b20;
}

.portal-consumivel-linha span,
.portal-consumivel-linha strong,
.portal-consumivel-linha small {
    min-width: 0;
}

.portal-consumivel-linha strong,
.portal-consumivel-linha small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-consumivel-linha strong {
    color: #1f2937;
    font-size: 12.5px;
    line-height: 1.15;
}

.portal-consumivel-linha small {
    color: #6b7280;
    font-size: 10.8px;
    line-height: 1.15;
    margin-top: 2px;
}

.portal-consumivel-linha-ref strong {
    font-size: 13px;
}

.portal-consumivel-linha-mps strong,
.portal-consumivel-linha-pags strong {
    font-size: 12.5px;
}

.portal-consumivel-linha-manual {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 6px;
    align-items: center;
}

.portal-consumivel-linha-manual input {
    width: 54px;
    padding: 6px 7px;
    border: 1px solid #dddddd;
    border-radius: 9px;
    font-size: 12px;
}

.portal-consumivel-linha-manual input:disabled {
    background: #f5f5f5;
    color: #999999;
}

.portal-percentagens-manuais-card-compacto {
    margin-top: 8px;
    padding: 8px 10px;
}

.portal-percentagens-manuais-card-compacto strong {
    font-size: 13px;
}

.portal-percentagens-manuais-card-compacto small {
    font-size: 11.5px;
}

@media (max-width: 920px) {
    .portal-consumivel-linha {
        grid-template-columns: 22px 1fr 1fr;
    }

    .portal-consumivel-linha-ref,
    .portal-consumivel-linha-mps,
    .portal-consumivel-linha-pags,
    .portal-consumivel-linha-manual {
        grid-column: 2 / -1;
    }
}


/* PORTAL CLIENTE - POPUP ATUALIZAÇÃO MPS V71H */
.portal-mps-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 23, 42, 0.22);
    backdrop-filter: blur(2px);
}

.portal-mps-popup-atualizar {
    display: flex;
    align-items: center;
    gap: 14px;
    width: min(430px, calc(100vw - 36px));
    padding: 18px 20px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(255, 122, 24, 0.25);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.22);
    color: #001b3a;
}

.portal-mps-popup-atualizar strong {
    display: block;
    font-size: 15px;
    margin-bottom: 3px;
}

.portal-mps-popup-atualizar span {
    display: block;
    font-size: 13px;
    color: #526071;
}

.portal-mps-spinner {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 4px solid rgba(255, 122, 24, 0.18);
    border-top-color: #ff7a18;
    animation: portal-mps-spin 0.8s linear infinite;
    flex: 0 0 auto;
}

@keyframes portal-mps-spin {
    to { transform: rotate(360deg); }
}

.portal-pedido-acoes-compactas .btn:disabled,
.portal-pedido-acoes-compactas .btn.desativado {
    opacity: 0.55;
    cursor: not-allowed;
    filter: grayscale(0.2);
}
