/* Reset e estilos base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

}

body {
    background-color: #f5f5f5;
    color: #333;
    line-height: 1.6;
}

.container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    margin-top: -25px;
}

/* Cabeçalho */
.welcome-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ddd;
}

/* Botões */
/*.btn {*/
/*    background-color: #4CAF50;*/
/*    color: white;*/
/*    border: none;*/
/*    padding: 10px 15px;*/
/*    border-radius: 4px;*/
/*    cursor: pointer;*/
/*    font-size: 16px;*/
/*    transition: background-color 0.3s;*/
/*}*/

.container-btn {
    display: flex;
    justify-content: center; /* Centraliza horizontalmente */
    align-items: center; /* Centraliza verticalmente (opcional) */
}

.btn {
    border: none;
    padding: 10px 15px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
    text-align: center;
}

.btn-admin{
    border: none;
    padding: 10px 15px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
    text-align: center;
    background: #00ceff;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.btn:hover {
    background-color: #45a049;
}

/* Estilo específico para o botão Entrar */
.btn-entrar {
    display: block; /* Para centralizar com margin */
    width: 50%; /* Ou um valor fixo (ex: 200px) */
    margin: 20px auto; /* Centraliza horizontalmente */
    padding: 12px 20px; /* Maior que o padrão */
    font-size: 18px; /* Texto maior */
    background-color: #4CAF50; /* Cor verde (ou outra de sua escolha) */
    color: white;
}

.btn-entrar:hover {
    background-color: #45a049; /* Efeito hover */
}

/* Estilo específico para o botão Criar Nova Lista */
.btn-nova-lista {
    background-color: #2196F3; /* Azul */
    color: white;
    padding: 12px 25px;
    font-weight: bold;
    border-radius: 8px; /* Bordas mais arredondadas */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Sombra */
    margin: 10px 0;

}

.btn-nova-lista:hover {
    background-color: #0b7dda;
}

/* Estilo para o botão Registrar */
.btn-registrar {
    background-color: #ff9800; /* Laranja */
    color: white;
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
}

.btn-registrar:hover {
    background-color: #e68a00;
}

/* Estilo para o botão Sair */
.btn-sair {
    background-color: #ff4444; /* Laranja */
    color: white;
    padding: 10px 20px;
    border-radius: 6px;
    border: none;
    text-decoration: none;
        font-size: 17px;
}

.btn-sair:hover {
    background-color: #eb3f3f;
}

/* Estilo para o botão Voltar */
.btn-voltar {
    background-color: #4CAF50; /* Laranja */
    color: white;
    padding: 8px 18px;
    border-radius: 6px;
    border: none;
    text-decoration: none;
}

.btn-voltar:hover {
    background-color: #45a049;
}

.btn-voltar-home {
    background-color: #4CAF50; /* Laranja */
    color: white;
    padding: 8px 18px;
    border-radius: 6px;
    border: none;
    text-decoration: none;
    /*margin-left: 30%;*/
}

.btn-voltar-home:hover {
    background-color: #45a049;
}

/* Estilo para o botão ADD */
.btn-add {
    background-color: #4CAF50; /* Laranja */
    color: white;
    padding: 11px 18px;
    border-radius: 6px;
    border: none;
    text-decoration: none;
    font-size: 16px;
}

.btn-add:hover {
    background-color: #45a049;
}

/* Estilo para o botão CANCEL */
.btn-cancel {
    background-color: #686262; /* Laranja */
    color: white;
    padding: 11px 18px;
    border-radius: 6px;
    border: none;
    text-decoration: none;
    font-size: 16px;
}

.btn-cancel:hover {
    background-color: #686272;
}

.novoItemInput{
    width: 200px;
    background-color: #ffffff; /* Laranja */
    color: #000000;
    font-size: 20px;
    padding: 8px 18px;
    border-radius: 6px;
    border: 1px solid #bdb7b7;
    text-decoration: none;
}

.btn-icon {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    padding: 5px;
}
.btn-icon2 {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    padding: 5px;
}

.btn-circle {
    background-color: #4CAF50;
    color: white;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 35px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto;
}

/* Formulários */
.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.form-group input, 
.form-group select, 
.form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
}

#itensLista p{
    text-align: center;
}

.lista-header{
        text-align: center;
}

.lista-header button{
        text-align: left;
}
/* Listas */
.listas {
    list-style: none;
    margin-top: 20px;
}

.listas li {
    background-color: white;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.listas li a {
    text-decoration: none;
    color: #333;
    display: block;
}

.listas li .data {
    color: #777;
    font-size: 14px;
}

/* Itens da lista */
/*.itens {*/
/*    list-style: none;*/
/*    margin-top: 20px;*/
/*}*/
.itens {
    list-style: none;
    margin-top: 20px;
    width: 100%;
}

/*.item {*/
/*    background-color: white;*/
/*    padding: 15px;*/
/*    margin-bottom: 10px;*/
/*    border-radius: 4px;*/
/*    box-shadow: 0 2px 4px rgba(0,0,0,0.1);*/
/*    display: flex;*/
/*    align-items: center;*/
/*}*/
.item {
    background-color: white;
    margin-bottom: 10px;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    padding: 10px 15px;
    display: flex;
    flex-direction: column;
}
.item-top {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 5px;
}
.item-bottom {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    width: 100%;
}
.item-bottom2 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    /*width: 100%;*/
}

.item.comprado {
    opacity: 0.6;
    color: #999;

}

/*.item-checkbox {*/
/*    margin-right: 15px;*/
/*    transform: scale(1.5);*/
/*}*/
.item-checkbox {
    margin-right: 15px;
    transform: scale(1.3);
}

/*Cor do Checkbox*/
input[type="checkbox"] {
    /* Remove a aparência padrão */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    /* Define o tamanho */
    width: 18px;
    height: 18px;
    
    /* Cor de fundo quando não marcado */
    background-color: #e0e0e0; /* Cinza claro */
    
    /* Borda */
    border: 1px solid #b0b0b0; /* Cinza médio */
    border-radius: 3px;
    
    /* Posicionamento relativo para os pseudo-elementos */
    position: relative;
    cursor: pointer;
}

input[type="checkbox"]:checked {
    /* Cor de fundo quando marcado */
    background-color: #62c357; /* Cinza médio */
}

input[type="number"]:checked::before {
    /* Cor de fundo quando marcado */
    background-color: #62c357; /* Cinza médio */
}

/* Estilo do "check" */
input[type="checkbox"]:checked::before {
    content: "✓";
    position: absolute;
    color: white;
    font-size: 14px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
/*Cor do Checkbox*/

/*.item-nome {*/
/*    flex-grow: 1;*/
/*}*/
.item-nome {
    flex-grow: 1;
    text-align: left;
    font-weight: 500;
    margin-right: auto; /* Empurra tudo para a esquerda */
}

.item-quantidade,
.item-preco {
    width: 80px;
    padding: 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-align: center;
    font-family: monospace; /* Para alinhamento perfeito de números */
}

/*.delete-item {*/
/*    margin-left: 10px;*/
/*    color: #ff4444;*/
/*    margin-right: -10px;*/
/*}*/
.delete-item {
    color: #ff4444;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    padding: 2px 5px;
    margin-right: -13px;
}
.delete-item2 {
    color: #ff4444;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    padding: 2px 5px;
    margin-right: -13px;
}

/* Modal */
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
}

.modal-content {
    background-color: #fefefe;
    margin: 10% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 500px;
    border-radius: 5px;
    text-align:center;
    font-size:20px;
}

.modal-content2 {
    background-color: #fefefe;
    margin: 10% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 500px;
    border-radius: 5px;
    text-align:center;
}

        .modal-content span {
        background: #ff5d5d;
        margin-top: -40px;
        width: 35px;
        height: 35px;
        line-height: 25px;
        font-size: 48px;
        border-radius: 50%;
        color: #ffffff;
    }

        .modal-content2 span {
        background: #ff5d5d;
        margin-top: -40px;
        width: 35px;
        height: 35px;
        line-height: 25px;
        font-size: 48px;
        border-radius: 50%;
        color: #ffffff;
    }


.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover {
    color: black;
}

/* Tabela de usuários */
.usuarios-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.usuarios-table th, 
.usuarios-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.usuarios-table th {
    background-color: #4CAF50;
    color: white;
}

.usuarios-table tr:hover {
    background-color: #f5f5f5;
}

/* Alertas */
.alert {
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 4px;
}

.alert.error {
    background-color: #ffdddd;
    color: #ff4444;
}

.alert.success {
    background-color: #ddffdd;
    color: #008000;
}

/* Login */
.login-container {
    max-width: 400px;
    margin: 50px auto;
    padding: 20px;
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.login-container h1 {
    text-align: center;
    margin-bottom: 20px;
    color: #4CAF50;
}

/* Header Content */
.header-content {
    background-color: white;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

}

.header-content h1 {
    text-align: center;
    margin-bottom: 20px;
    color: #4CAF50;
}




.btn btn-Entrar {
    text-align: center;
}

.login-form {
    margin-bottom: 20px;
}

.register-link {
    text-align: center;
    margin-top: 20px;
}

.register-link a {
    color: #4CAF50;
    text-decoration: none;
}

.register-link a:hover {
    text-decoration: underline;
}

/* Responsividade */
@media (max-width: 768px) {
    .welcome-section {
        /*flex-direction: column;*/
        /*align-items: flex-start;*/
    }
    
    .welcome-section h2 {
        margin-bottom: 10px;
        font-size: 15px;
    }
    .welcome-section2 p{
        /* background: #b95656; */
        font-size: 17px;
        font-style: italic;
        color: #737373;
        text-align:center;
    }
    .welcome-section2 img{
             margin-bottom: -9px;

    }
    
    .modal-content {
        width: 95%;
        margin: 20% auto;
    }
    
    .modal-content2 {
        width: 95%;
        margin: 20% auto;
    }
    
    .modal-content2 h3 {
    text-align: center;
    }
    
    .modal-content2 span {

    }
    
    
    .modal-content2 p {
    text-align: center;
    }
    
    .usuarios-table {
        display: block;
        overflow-x: auto;
    }
}

.footer{
    text-align:center;
}


.form-group2 input, .form-group2 select, .form-group2 textarea {
    /* width: 100%; */
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;

}

/* Adicione ao seu style.css */
.item {
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
}

/*.item.comprado {*/
/*    opacity: 0.7;*/
/*    background-color: #e1e1e1;*/
/*}*/

/*.item.comprado .item-nome {*/
/*    text-decoration: line-through;*/
/*    font-weight: 700;*/
/*}*/
.item.comprado {
    opacity: 0.7;
    background-color: #f9f9f9;
}

.item.comprado .item-nome {
    text-decoration: line-through;
    color: #777;
    FONT-WEIGHT: 800;
}

/* Linha divisória opcional */
.item:not(:last-child) {
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
    padding-bottom: 5px;
}

/* Ajuste para mobile */
@media (max-width: 768px) {
    .item-bottom {
        gap: 5px;
    }
    
    .item-quantidade,
    .item-preco {
        width: 70px;
        font-size: 14px;
    }
    
    .item-total {
        min-width: 70px;
        font-size: 18px;
    }
    
    .item-nome {
        font-size: 18px;
    }
}

.item-preco {
    width: 70px;
    padding: 5px;
    /*margin: 0 5px;*/
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    text-align: center;
    /*font-family: monospace;  Fonte de largura fixa para alinhamento perfeito */
    padding-right: 8px; /* Espaço para o lado direito */
    box-sizing: border-box; /* Garante que padding não aumente a largura */
        margin-left: 5px;
}

.item-quantidade{
    width: 70px;
    /*padding: 5px;*/
    margin: 0 5px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    text-align: center;
    font-family: monospace; /* Fonte de largura fixa para alinhamento perfeito */
    padding-right: 8px; /* Espaço para o lado direito */
    box-sizing: border-box; /* Garante que padding não aumente a largura */
}

/* Estilo quando o item está marcado como comprado */
.item.comprado .item-quantidade,
.item.comprado .item-preco {
    background-color: #f1eded !important; /* Cor de fundo quando marcado */
    color: #bbafaf !important; /* Cor do texto quando marcado */
    border-color: #d9d9d9 !important;
}

/* Opcional: estilo para o checkbox marcado */
.item.comprado .item-checkbox {
    accent-color: #bbafaf; /* Cor do checkbox marcado */
}

/*.item-total {*/
/*    font-weight: bold;*/
/*    min-width: 50px;*/
/*    display: inline-block;*/
/*    text-align: right;*/
/*    margin-left: 5px;*/
/*    margin-right: -10px;*/
/*}*/
.item-total {
    font-weight: bold;
    min-width: 80px;
    text-align: right;
    font-family: monospace;
}

.lista-total{
    /*text-align: right;*/
    /* margin-right: 20px;*/
}

/*Css para Logo*/

/* Logo na Home */
.logo-container {
    text-align: center;
    margin: 20px 0;
}

/* Logo no Login */
.login-logo {
    text-align: center;
    margin-bottom: 30px;
}

.site-logo {
    max-width: 200px; /* Ajuste conforme necessário */ 
    height: auto;
    display: block;
    margin: 0 auto;
}

.header-logo {
    max-width: 150px; /* Ajuste conforme necessário */
    height: auto;
        margin-bottom: -5px;
    /*display: block;*/
    /*margin: 0 auto;*/
}

/**/
#listasContainer p{
        text-align: center;
}

/*Total das compras*/
/* Container do rodapé fixo */
.total-footer-container {
    position: fixed;
    bottom: -100px; /* Começa escondido */
    left: 0;
    width: 100%;
    background: #f8f8f8;
    padding: 15px 0;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    transition: bottom 0.3s ease;
    z-index: 1000;
    text-align: center;
    border-top: 1px solid #ddd;
}

/* Quando tem pelo menos um checkbox marcado */
.total-footer-container.visible {
    bottom: 0; /* Mostra o rodapé */
        background: #1ac1a4;
    font-size: 14px;
    color: #fff;
}

/* Estilo do total */
.lista-total {
    font-size: 1.2em;
    font-weight: bold;
    color: #ffffff;
}

/* Ajuste para o conteúdo principal não ficar escondido */
body {
    padding-bottom: 60px; /* Espaço para o rodapé quando visível */
}
/*Total das compras*/

/*cabeçalho da lista*/
/* CABEÇALHO DA LISTA - RESPONSIVO */
/*.header-lista {*/
/*    width: 100%;*/
/*    background-color: #f5f5f5;*/
/*    border-bottom: 2px solid #ddd;*/
/*    padding: 10px 0;*/
    /*overflow-x: auto;  Permite rolagem horizontal se necessário */
/*}*/
.header-lista {
    width: 100%;
    background-color: #f5f5f5;
    border-bottom: 2px solid #ddd;
    padding: 10px 15px;
    font-weight: 500;
    color: #666;
    display: flex;
    justify-content: space-between;
}

.header-lista .col-nome {
    text-align: left;
    width: 50%;
}

.header-lista .col-valores {
    text-align: right;
    width: 50%;
    padding-right: 30px; /* Espaço para a lixeira */
}

.listas-header {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0 15px;
    min-width: 600px; /* Largura mínima para manter o layout */
    font-weight: 500;
    color:#bbb5b5;
}

.listas-header li {
    white-space: nowrap; /* Impede quebra de texto */
    padding: 0 10px;
}

/* COLUNAS (ajuste conforme suas necessidades) */
.listas-header .col-nome { 
    width: 69%;
}

.listas-header .col-qtd {
    width: 9%;
    text-align: center;
}

.listas-header .col-preco {
    width: 13%;
    text-align: center;
}

.listas-header .col-total {
    width: 5%;
    text-align: right;
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
    .listas-header {
        min-width: 100%; /* Ajusta para mobile */
        font-size: 14px; /* Reduz fonte */
    }
    
    .listas-header li {
        padding: 0 5px; /* Reduz espaçamento */
    }
    
    .listas-header .col-nome { 
    width: 47%;
    margin-left: 4%;
}

.listas-header .col-qtd {
    width: 30%;
    text-align: center;
}

.listas-header .col-preco {
    width: 2%;
    text-align: center;
}

.listas-header .col-total {
    width: 10%;
    text-align: right;
}
}

/* Estilos para o container das listas */
.listas {
    list-style: none;
    padding: 0;
    margin: 0;
}

.listas li {
    margin-bottom: 15px;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.listas li:hover {
    background: #f0f0f0;
}

/* Container de cada item de lista */
.lista-item-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Link da lista */
.lista-link {
    flex-grow: 1;
    text-decoration: none;
    color: #333;
}

/* Título da lista */
.lista-titulo {
    font-weight: bold;
    font-size: 1.1em;
    margin-bottom: 5px;
}

/* Informações da lista (data e tipo) */
.lista-info {
    display: flex;
    gap: 10px;
    font-size: 0.9em;
    color: #666;
}

/* Botão de excluir lista */
.delete-lista {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    color: #ff4444;
    margin-left: 15px;
    padding: 5px;
    transition: transform 0.2s;
}

.delete-lista:hover {
    transform: scale(1.1);
}

/* Estilo para o tipo de lista */
.tipo-lista {
    font-style: italic;
}

/* Estilo para a data */
.data {
    color: #666;
}

/* Estilos para o comparativo */
.btn-comparar {
    background-color: #9c27b0; /* Roxo */
    color: white;
    padding: 12px 25px;
    font-weight: bold;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    margin: 10px 0;
}

.btn-comparar:hover {
    background-color: #7b1fa2;
}

.lista-comparar-item {
    margin-bottom: 10px;
    padding: 8px;
    background: #f5f5f5;
    border-radius: 4px;
}

.lista-comparar-item label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.lista-comparar-item input {
    margin-right: 10px;
}

.comparativo-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.comparativo-table th, 
.comparativo-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.comparativo-table th {
    background-color: #4CAF50;
    color: white;
}

.comparativo-table tr:hover {
    background-color: #f5f5f5;
}

.comparativo-table .melhor-preco {
    background-color: #e8f5e9;
    font-weight: bold;
}

.comparativo-table tfoot th {
    background-color: #2e7d32;
}

@media (max-width: 768px) {
    .comparativo-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap; /* Impede a quebra de linha */
        -webkit-overflow-scrolling: touch; /* Melhora o scroll em dispositivos móveis */
    }

    .comparativo-table th,
    .comparativo-table td {
        padding: 8px 12px; /* Reduz um pouco o padding para mobile */
        font-size: 16px; /* Reduz o tamanho da fonte */
        border-left: dotted 1px #e1e1e1;
    }

    /* Estilo para o cabeçalho fixo (opcional) */
    .comparativo-table thead {
        position: sticky;
        left: 0;
    }
}


/* FIM dos Estilos para o comparativo */



/*.btn-comparar {*/
/*    background-color: #9c27b0;*/
/*    color: white;*/
/*    padding: 12px 25px;*/
/*    font-weight: bold;*/
/*    border-radius: 8px;*/
/*    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);*/
/*    margin: 10px 0;*/
/*    position: relative;*/
/*    overflow: hidden;*/
/*    transition: all 0.3s ease;*/
/*}*/
.btn-comparar2 {
    /*background-color: #ffffff; */
    /* color: white; */
    /* padding: 0px 0; */
    /* font-weight: bold; */
    /* border-radius: 8px; */
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); */
    /* margin: 10px 0; */
    /* position: relative; */
    /* overflow: hidden; */
    /* transition: all 0.3s ease; */
    cursor: pointer;
    /* display: none; */
    border: none;
    margin-left: 20px;
}
.btn-comparar:hover {
    background-color: #7b1fa2;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.btn-comparar::after {
    content: "↔";
    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateY(-50%);
    opacity: 0;
    transition: all 0.3s ease;
}

.btn-comparar:hover::after {
    left: 15px;
    opacity: 1;
    animation: moveArrows 1.5s infinite;
}

@keyframes moveArrows {
    0%, 100% {
        transform: translateY(-50%) translateX(0);
    }
    50% {
        transform: translateY(-50%) translateX(5px);
    }
}

/*Inicio NOVA HOME*/
/* Estilos para o dashboard da home */
.dashboard-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}

.menu-option {
    width: 300px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
    overflow: hidden;
}

.menu-option:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.dashboard-btn {
    display: block;
    padding: 25px;
    text-align: center;
    text-decoration: none;
    color: #333;
}

.dashboard-btn:hover {
    text-decoration: none;
    color: #333;
}

.dashboard-icon {
    font-size: 50px;
    margin-bottom: 15px;
}

.menu-option h3 {
    margin: 0 0 10px 0;
    color: #2c3e50;
}

.menu-option p {
    color: #7f8c8d;
    margin: 0;
    font-size: 14px;
}

.coming-soon {
    opacity: 0.8;
}

.coming-soon:hover {
    opacity: 1;
}

/* Responsividade */
@media (max-width: 768px) {
    .dashboard-menu {
        flex-direction: column;
        align-items: center;
    }
    
    .menu-option {
        width: 100%;
        max-width: 300px;
    }
}
/*Fim NOVA HOME*/

/*Inicio do CSS da Sessão da pagina de controle financeiro*/

/*FIM do CSS da Sessão da pagina de controle financeiro*/


/* Estilos para drag-and-drop = arrastar e soltar */
/* Adicione ao seu style.css */

/* Estilo para o nome do item ser arrastável */
.item-nome.draggable {
    cursor: grab;
    user-select: none; /* Evita seleção de texto ao arrastar */
    padding: 5px;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.item-nome.draggable:hover {
    background-color: #f0f0f0;
}

.item-nome.draggable:active {
    cursor: grabbing;
    background-color: #e0e0e0;
}

/* Item comprado não pode ser arrastado */
.item.comprado .item-nome.draggable {
    cursor: default !important;
    background-color: transparent !important;
}

/* Ajuste para o handle de arrastar ficar visível */
.drag-handle {
    display: none; /* Esconde completamente o ☰ */
}

/* Estilos para drag-and-drop = arrastar e soltar */

/*Inicio do botão que copia as listas*/
/* Ações da lista */
/* Ações da lista */
.lista-actions {
    display: flex;
    gap: 10px;
    margin-left: 15px;
}

.lista-actions .btn-icon {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2em;
    padding: 5px;
    transition: transform 0.2s;
}

.lista-actions .btn-icon:hover {
    transform: scale(1.1);
}

/* Botão de copiar */
.copy-lista {
    color: #2196F3;
}

/* Botão de excluir */
.delete-lista {
    color: #ff4444;
}

/* Ajuste no container da lista */
.lista-item-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
/*Fim do botão que copia as listas*/

.numeric-input::placeholder {
    color: #888;
    font-size: 14px;
    opacity: 0.7;
}

.numeric-input:focus::placeholder {
    opacity: 0.5;
}