/* =========================== Styles généraux =========================== */ body { margin: 0; padding: 0; background: transparent; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; user-select: none; } #bank-container { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 900px; height: 520px; background: #1c1f26; border-radius: 20px; color: #fff; box-shadow: 0 0 30px rgba(0, 0, 0, 0.5); z-index: 1000; } .main-panel { display: flex; height: 100%; } .sidebar { width: 220px; background: #16191f; border-right: 2px solid #2a2d35; padding: 30px 20px; display: flex; flex-direction: column; justify-content: space-between; /* coins arrondis à gauche */ border-top-left-radius: 20px; border-bottom-left-radius: 20px; } .sidebar h2 { color: #ffffff; font-size: 1.6em; margin-bottom: 40px; } .sidebar button { padding: 14px 10px; margin-bottom: 20px; background: #2a2d38; border: none; border-radius: 12px; color: #fff; font-weight: 600; font-size: 1em; cursor: pointer; transition: background 0.3s; } .sidebar button:hover { background: #3a3d48; } .content { flex: 1; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; } /* =========================== CARTE « BANQUE CLASSIQUE » =========================== */ .card-info { background: linear-gradient(135deg, #667eea, #02ffc8); border-radius: 15px; color: white; padding: 25px 30px; max-width: 400px; margin: 0 auto 30px auto; box-shadow: 0 8px 15px rgba(102, 126, 234, 0.3); } .card-header { display: flex; justify-content: space-between; margin-bottom: 20px; } .card-title { font-size: 1.4em; font-weight: bold; letter-spacing: 2px; } .card-valid { font-size: 0.9em; opacity: 0.8; } .card-number { font-size: 1.3em; letter-spacing: 3px; margin-bottom: 15px; } .card-holder { opacity: 0.8; margin-bottom: 10px; } .card-balance { font-size: 2.5em; font-weight: bold; } .actions { margin-top: 30px; } .actions input { width: 100%; text-align: center; background: #2a2d38; color: #ffffff; border: none; border-radius: 10px; padding: 14px; font-size: 1.2em; margin-bottom: 20px; outline: none; transition: background 0.3s, box-shadow 0.3s; box-shadow: inset 2px 2px 8px #1c1f26; box-sizing: border-box; } .actions input::placeholder { color: rgba(255, 255, 255, 0.4); } .actions input:focus { background: #4a5160; box-shadow: 0 0 10px 3px #1abc9c; } .buttons { display: flex; gap: 20px; } .buttons button { flex: 1; padding: 14px; font-size: 1.1em; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; background: #1abc9c; box-shadow: 0 6px 15px rgba(26, 188, 156, 0.7); color: #fff; transition: background 0.3s, box-shadow 0.3s, transform 0.15s; } .buttons button:hover { background: #17a589; box-shadow: 0 8px 20px rgba(23, 165, 137, 0.9); transform: translateY(-2px); } /* =========================== FORMULAIRE DE TRANSFERT =========================== */ #transfer-form { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #1c1f26; padding: 30px 40px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6); z-index: 1050; width: 420px; display: flex; justify-content: center; gap: 20px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #e0e0e0; text-align: center; } #transfer-form input { width: 50%; margin-bottom: 20px; margin-right: 0; text-align: center; padding: 14px 18px; font-size: 1.1em; border-radius: 12px; border: none; background: #2a2d38; color: #eee; box-shadow: inset 2px 2px 8px #1c1f26; transition: background 0.3s, box-shadow 0.3s; } #transfer-form input::placeholder { color: rgba(255, 255, 255, 0.4); } #transfer-form input:focus { outline: none; background: #4a5160; box-shadow: 0 0 8px 2px #1abc9c; } #transfer-form .buttons-container { display: flex; justify-content: center; gap: 20px; margin-top: 10px; } #transfer-form button { width: 140px; padding: 14px 0; font-size: 1.1em; font-weight: 700; border-radius: 12px; border: none; cursor: pointer; transition: background 0.3s, transform 0.15s; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25); color: #fff; user-select: none; } #transfer-form button#send-transfer { background: #1abc9c; box-shadow: 0 6px 15px rgba(26, 188, 156, 0.7); } #transfer-form button#send-transfer:hover { background: #17a589; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(23, 165, 137, 0.9); } #transfer-form button#cancel-transfer { background: #ff0000; box-shadow: 0 6px 15px rgba(255, 0, 0, 0.7); } #transfer-form button#cancel-transfer:hover { background: #ff0000; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255, 0, 0, 0.9); } /* =========================== VUE « HISTORIQUE » =========================== */ #view-history { flex: 1; display: flex; flex-direction: column; padding: 20px; color: #fff; } /* Scrollbar personnalisé pour #history-list */ #history-list { scrollbar-width: thin; scrollbar-color: #1abc9c #2a2d38; } #history-list::-webkit-scrollbar { width: 8px; height: 8px; } #history-list::-webkit-scrollbar-track { background: #2a2d38; border-radius: 4px; } #history-list::-webkit-scrollbar-thumb { background-color: #1abc9c; border-radius: 4px; border: 2px solid #2a2d38; } #history-list::-webkit-scrollbar-thumb:hover { background-color: #17a589; } .transaction-entry { background: #2a2d38; padding: 15px 20px; margin-bottom: 12px; border-radius: 12px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); transition: background 0.3s; } .transaction-entry:hover { background: #3a3d48; } .transaction-entry span { display: block; margin-bottom: 6px; font-size: 1em; } .transaction-entry .amount { font-weight: bold; font-size: 1.2em; } .transaction-entry.depot .amount { color: #1abc9c; } .transaction-entry.retrait .amount { color: #e74c3c; } .transaction-entry.transfert .amount { color: #f1c40f; } /* =========================== CARTE « ÉPARGNE » =========================== */ .savings-card { background: linear-gradient(135deg, #FFD54F, #FFB300); border-radius: 15px; color: #fff; padding: 25px 30px; max-width: 400px; margin: 20px auto 30px auto; /* identique à .society-card */ box-shadow: 0 8px 20px rgba(255, 181, 0, 0.3), 0 0 20px rgba(255, 181, 0, 0.5); } .savings-card .card-header { display: flex; justify-content: space-between; margin-bottom: 20px; /* même espacement que .society-card .card-header */ } .savings-card .card-title { font-size: 1.4em; font-weight: bold; } .savings-card .card-valid { font-size: 0.9em; opacity: 0.8; } .savings-card .card-holder { opacity: 0.8; margin-bottom: 10px; /* identique à .society-card .card-holder */ } .savings-card .card-balance { font-size: 2.2em; font-weight: bold; } /* Boutons « Épargne » (jaunes) — mêmes dimensions et espacement que pour la Société */ .buttons-savings { display: flex; gap: 20px; margin-top: 20px; /* identique à .buttons-society */ } .buttons-savings button { flex: 1; padding: 14px; font-size: 1.1em; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; background: #FFC107; box-shadow: 0 6px 15px rgba(255, 193, 7, 0.7), 0 0 20px rgba(255, 193, 7, 0.5); color: #ffffff; transition: background 0.3s, box-shadow 0.3s, transform 0.15s; } .buttons-savings button:hover { background: #FFB300; box-shadow: 0 8px 20px rgba(255, 179, 0, 0.9), 0 0 25px rgba(255, 179, 0, 0.7); transform: translateY(-2px); } /* ====================================== VUE « ÉPARGNE » — alignement exactement comme la vue « Société » ====================================== */ /* ====================================== VUE « ÉPARGNE » — alignement comme « Société » ====================================== */ /* 1) Conteneur principal */ #view-savings { display: flex; flex-direction: column; align-items: center; padding: 20px; color: #fff; } /* 2) Carte Épargne (mêmes marges que .society-card) */ #view-savings .savings-card { background: linear-gradient(135deg, #FFD54F, #FFB300); border-radius: 15px; color: #fff; padding: 25px 30px; max-width: 400px; margin: 20px auto 30px auto; /* 20px au-dessus, 30px en-dessous */ box-shadow: 0 8px 20px rgba(255, 181, 0, 0.3), 0 0 20px rgba(255, 181, 0, 0.5); } #view-savings .savings-card .card-header { display: flex; justify-content: space-between; margin-bottom: 20px; /* même espacement que .society-card .card-header */ } #view-savings .savings-card .card-title { font-size: 1.4em; font-weight: bold; } #view-savings .savings-card .card-valid { font-size: 0.9em; opacity: 0.8; } #view-savings .savings-card .card-holder { opacity: 0.8; margin-bottom: 10px; /* identique à .society-card .card-holder */ } #view-savings .savings-card .card-balance { font-size: 2.2em; font-weight: bold; } /* 3) Zone « actions » (input + boutons) */ /* – largeur et centrage identiques à vue « Société » */ /* – margin-top ramené à 30px pour être à la même distance que la vue Société */ #view-savings .actions { width: 100%; max-width: 400px; margin: 0 auto; /* plus de margin-top ici */ } /* 3a) Input : même style que .actions input en “Société”, et contour/ombre au focus */ #view-savings .actions input { width: 100%; text-align: center; background: #2a2d38; color: #ffffff; border: none; border-radius: 10px; padding: 14px; font-size: 1.2em; margin-top: 30px; /* décale l’input vers le bas */ margin-bottom: 20px; /* conserve l’espace sous l’input */ outline: none; transition: background 0.3s, box-shadow 0.3s; box-shadow: inset 2px 2px 8px #1c1f26; } /* contour/ombre au focus (même que “.actions input:focus” en Société) */ #view-savings .actions input:focus { background: #4a5160; box-shadow: 0 0 10px 3px #FFC107; } /* 3b) Boutons en rangée — mêmes gap et margin-top que .buttons-society */ #view-savings .buttons-savings { display: flex; gap: 20px; margin-top: 50; /* plus de marge supplémentaire ici */ } #view-savings .buttons-savings button { flex: 1; padding: 14px; font-size: 1.1em; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; background: #FFC107; box-shadow: 0 6px 15px rgba(255, 193, 7, 0.7), 0 0 20px rgba(255, 193, 7, 0.5); color: #ffffff; transition: background 0.3s, box-shadow 0.3s, transform 0.15s; } #view-savings .buttons-savings button:hover { background: #FFB300; box-shadow: 0 8px 20px rgba(255, 179, 0, 0.9), 0 0 25px rgba(255, 179, 0, 0.7); transform: translateY(-2px); } /* =========================== CARTE « SOCIÉTÉ » (mêmes dimensions + glow, mais violet) =========================== */ .society-card { background: linear-gradient(135deg, #8E2DE2, #4A00E0); border-radius: 15px; color: #fff; padding: 25px 30px; max-width: 400px; margin: 20px auto 30px auto; /* ombre douce pour effet glow violet */ box-shadow: 0 8px 20px rgba(142, 45, 226, 0.3), 0 0 20px rgba(142, 45, 226, 0.5); } .society-card .card-header { display: flex; justify-content: space-between; margin-bottom: 20px; } .society-card .card-title { font-size: 1.4em; font-weight: bold; } .society-card .card-valid { font-size: 0.9em; opacity: 0.8; } .society-card .card-holder { opacity: 0.8; margin-bottom: 10px; } .society-card .card-balance { font-size: 2.2em; font-weight: bold; } /* Boutons « Société » (mêmes dimensions + glow, mais violet) */ .buttons-society { display: flex; gap: 20px; margin-top: 20px; } .buttons-society button { flex: 1; padding: 14px; font-size: 1.1em; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; background: #8E2DE2; /* ombre glow violet sous les boutons */ box-shadow: 0 6px 15px rgba(142, 45, 226, 0.7), 0 0 20px rgba(142, 45, 226, 0.5); color: #ffffff; transition: background 0.3s, box-shadow 0.3s, transform 0.15s; } .buttons-society button:hover { background: #6B1BBF; box-shadow: 0 8px 20px rgba(107, 27, 191, 0.9), 0 0 25px rgba(107, 27, 191, 0.7); transform: translateY(-2px); } /* =========================== VUE « SOCIÉTÉ » =========================== */ #view-society { display: flex; flex-direction: column; align-items: center; padding: 20px; color: #fff; } #view-society .card-info, #view-society .actions { width: 100%; max-width: 400px; } #view-society .actions input:focus { background: #4a5160; box-shadow: 0 0 10px 3px #6B1BBF; } /* =========================== SECTION « CRÉER ÉPARGNE » =========================== */ #savings-create h2 { font-size: 1.6em; margin-bottom: 15px; } #savings-create p { font-size: 1em; line-height: 1.4; margin-bottom: 15px; } #create-savings-btn, #create-savings-btn:hover { padding: 14px 20px; font-size: 1.1em; border: none; border-radius: 10px; cursor: pointer; font-weight: 600; background: #28a745; color: #fff; transition: background 0.3s; } #create-savings-btn:hover { background: #218838; } #savings-create { background: #1c1f26; border-radius: 15px; box-shadow: 0 8px 15px rgba(0, 0, 0, 0.3); padding: 30px; max-width: 500px; margin: 40px auto; }