/* ====================================================================== */
/* === GLOBAL NÉON CYBERPUNK GIL — VERSION NETTOYÉE & OPTIMISÉE ========= */
/* ====================================================================== */

.budget-card {
    max-width: 480px;
    margin: 12px auto;
    padding: 16px;
    background: #0a0a0f;
    border-radius: 10px;
    border: 1px solid #4c1d9588;
    box-shadow: 0 0 14px #4c1d9577 inset;
}

/* TITRES */
.budget-card .card-title {
    margin-bottom: 14px;
    font-size: 1.2rem;
    color: #d8b4fe;
    text-shadow: 0 0 6px #a855f7aa;
    text-align: center;
}

/* TABLEAU */
.budget-table {
    width: 100%;
    border-collapse: collapse !important;
    margin-bottom: 12px;
    font-size: 0.95rem;
    color: #e5e5ff;
}

/* Supprime toutes bordures, sauf celles qu'on choisit */
.budget-table, 
.budget-table * {
    border: none !important;
}

/* Lignes notes : fine séparation */
.budget-note-row td {
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}

/* EN-TÊTES */
.budget-table th {
    color: #93c5fd;
    padding: 6px 8px;
    font-weight: 700;
    text-shadow: 0 0 4px #60a5faa8;
}

/* LABEL CELL */
.label-cell {
    padding-top: 4px;
}

.label-main {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* FLÈCHES MOVE */
.move-icon {
    background: none;
    border: none;
    font-size: 0.6rem;
    color: #64748b;
    cursor: pointer;
    padding: 0;
}

.move-icon:hover {
    color: #38bdf8;
}

/* INPUTS */
.budget-table input[type="text"],
.budget-table input[type="number"] {
    width: 100%;
    background: #0f0f17;
    border: 1px solid #4b5563;
    padding: 4px 6px;
    font-size: 0.84rem;
    color: #e0e7ff;
    border-radius: 6px;
}

.budget-table input:focus {
    border-color: #c084fc;
    box-shadow: 0 0 8px #c084fc66;
}

/* MONTANT */
.amount-cell {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.amount-sign-minus {
    color: #f87171;
    text-shadow: 0 0 6px #ef4444aa;
}

.amount-sign-plus {
    color: #4ade80;
    text-shadow: 0 0 6px #22c55eaa;
}

/* DELETE ICON */
.delete-icon {
    background: none;
    border: none;
    font-size: 0.6rem;
    color: #64748b;
    cursor: pointer;
}

.delete-icon:hover {
    color: #f87171;
}

/* ───────────────────────────────────────────── */
/* ============= LIGNES TOTAL ================== */
/* ───────────────────────────────────────────── */

.budget-total-row td {
    padding-top: 10px;
    border-top: 1px solid #4c1d9544 !important;
    color: #e9d5ff;               /* violet argenté */
    text-shadow: 0 0 6px #d8b4ffcc;
}

/* RESTE THÉORIQUE – mise en avant */
.reste-row {
    background: rgba(216, 180, 255, 0.08);
    border-top: 1px solid #e9d5ffaa !important;
}

.reste-row td strong {
    color: #f0abfc;
    text-shadow: 0 0 6px #e879f999;
}

/* Séparateur visuel — évite l’effet collé */
.separator-row {
    height: 14px;
    background: transparent;
}

/* ───────────────────────────────────────────── */
/* ============= BOUTON AJOUTER ================= */
/* ───────────────────────────────────────────── */

.mini-btn-add {
    width: 100%;
    margin-top: 6px;
    padding: 6px 8px;
    background: linear-gradient(90deg, #4ade80, #22d3ee);
    border: none;
    color: #0f0f0f;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;

    /* Retire l’ombre d’arrière-plan nuisible */
    box-shadow: none;
}

/* Bouton enregistrer */
.budget-save-btn {
    background: linear-gradient(90deg, #c084fc, #60a5fa);
    border: none;
    padding: 8px 10px;
    color: #0a0a0f;
    font-weight: 700;
    margin-top: 10px;
    border-radius: 8px;
    cursor: pointer;

    /* Ombre douce */
    box-shadow: 0 0 12px #a855f733;
}

/* MOBILE */
@media (max-width: 480px) {
    .budget-card {
        padding: 14px;
    }

    .budget-table th,
    .budget-table td {
        font-size: 0.82rem;
        padding: 5px;
    }
}

/* ==== TOTAL MENSUEL ==== */
.total-global-row {
    background: rgba(150, 140, 255, 0.12);
    border-top: 1px solid rgba(200, 170, 255, 0.40) !important;
}

.total-global-row td strong {
    color: #e9d5ff;
    font-size: 1.05rem;
    text-shadow:
        0 0 6px #c084fcaa,
        0 0 12px #a855f777;
}

.total-global-amount {
    text-align: right;
}

/* ==== RESTE THÉORIQUE ==== */
.highlight-reste {
    background: linear-gradient(
        90deg,
        rgba(244, 114, 182, 0.20),
        rgba(168, 85, 247, 0.22)
    );
    border-top: 1px solid rgba(244, 114, 182, 0.40) !important;
    border-bottom: 1px solid rgba(168, 85, 247, 0.40) !important;
}

.highlight-reste td strong {
    color: #f0abfc;
    font-size: 1.15rem;
    font-weight: 800;
    text-shadow:
        0 0 6px #f472b6aa,
        0 0 12px #d946efaa,
        0 0 22px #a855f7aa;
}

.reste-amount {
    text-align: right;
}
