/* -------------------- HINTERGRUND & GRUNDLAYOUT -------------------- */ body { background: linear-gradient(135deg, #a0c4ff, #b5ead7, #cce3dc); /* Blau-Grün-Grau Verlauf */ background-size: 400% 400%; animation: gradientShift 20s ease infinite; height: 100vh; margin: 0; overflow: hidden; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: #2c3e50; } /* -------------------- HEADER & TITEL -------------------- */ .title { margin-left: 20px; } header { border-bottom: 1px solid #ccc; padding-bottom: 10px; } .head { display: flex; justify-content: space-between; } .menu { text-align: center; margin-right: 20px; } header button { transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out; transform: scale(1); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); background: #f0f4f8; border-radius: 8px; padding: 6px 14px; font-size: 14px; font-weight: 500; color: #2c3e50; border: none; } header button:hover { transform: scale(1.05); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); cursor: pointer; } /* -------------------- AUSWAHLFELDER -------------------- */ .auswahl { text-align: left; margin-left: 20px; } #jahr, #monat, #suche { border-radius: 8px; border: none; height: 32px; padding: 0 10px; background: #f9f9fb; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); transition: box-shadow 0.3s ease; } #jahr:focus, #monat:focus, #suche:focus, #export:focus, #mode:focus { outline: none; box-shadow: 0 0 0 2px #88c0d0; } /* -------------------- TABELLEN-EINTRAG BUTTON (nur der Button klickbar, mittig) -------------------- */ #eintrag-zeile { background: none !important; /* kein Hintergrund */ border: none !important; box-shadow: none !important; } #eintrag-zeile:hover { background: none !important; /* Zeile reagiert nicht auf Hover */ } #eintrag-zeile td { background: transparent !important; border: none !important; box-shadow: none !important; text-align: center; padding: 16px 0; cursor: default; /* Zeile zeigt keinen Pointer */ } /* Der eigentliche Button */ #eintrag { background: linear-gradient(135deg, #cce3dc, #b5ead7); color: #2c3e50; font-weight: 500; font-size: 14px; border: none; border-radius: 10px; padding: 8px 20px; cursor: pointer; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1); transition: all 0.25s ease-in-out; display: inline-block; /* bleibt mittig */ } #eintrag:hover { background: linear-gradient(135deg, #dff7ef, #cce3dc); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15); } #eintrag:active { transform: translateY(1px); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); } /* -------------------- TABELLEN CONTAINER -------------------- */ .container { padding: 1rem; transition: background-color 0.3s; overflow-y: auto; max-height: 80vh; } /* -------------------- MODERNE, TRANSPARENTE TABELLE -------------------- */ table { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 1rem; table-layout: fixed; background-color: rgba(200, 230, 240, 0.15); backdrop-filter: blur(5px); border: 1px solid rgba(100, 150, 170, 0.3); border-radius: 12px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); } thead > tr > th { padding: 0.8rem; text-align: left; font-weight: 600; background: rgba(180, 210, 220, 0.35); backdrop-filter: blur(4px); color: #2c3e50; border-bottom: 1px solid rgba(0, 0, 0, 0.15); } tbody > tr { background: rgba(255, 255, 255, 0.04); border-bottom: 1px solid rgba(0, 0, 0, 0.1); } tbody > tr:hover { background-color: rgba(100, 160, 180, 0.15); } tbody > tr > td { padding: 0.8rem; color: #2c3e50; text-align: left; border-right: 1px solid rgba(0, 0, 0, 0.08); } tbody > tr > td:last-child { border-right: none; } tfoot { background: rgba(180, 210, 220, 0.25); color: #2c3e50; font-weight: bold; border-top: 1px solid rgba(0, 0, 0, 0.15); } #summe-zelle { padding: 0.8rem; text-align: left; } /* -------------------- SPALTENBREITEN -------------------- */ thead > tr > th:nth-child(1) { width: 10%; } thead > tr > th:nth-child(2) { width: 40%; } thead > tr > th:nth-child(3) { width: 25%; } thead > tr > th:nth-child(4) { width: 10%; } /* -------------------- BUTTONS -------------------- */ #buchhaltung-tabelle td:last-child { display: flex; justify-content: flex-start; gap: 6px; padding-right: 0.5rem; } .speichern-btn, .loeschen-btn { padding: 6px 14px; font-size: 13px; border: none; border-radius: 6px; color: #fff; cursor: pointer; transition: all 0.3s ease-in-out; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); transform: scale(1); } .speichern-btn { background: linear-gradient(145deg, #28a745, #218838); } .speichern-btn:hover { transform: scale(1.06); box-shadow: 0 6px 14px rgba(40, 167, 69, 0.4); } .loeschen-btn { background: linear-gradient(145deg, #dc3545, #c82333); } .loeschen-btn:hover { transform: scale(1.06); box-shadow: 0 6px 14px rgba(220, 53, 69, 0.4); } /* -------------------- RESPONSIVE -------------------- */ @media (max-width: 768px) { #buchhaltung-tabelle td:last-child { flex-direction: column; align-items: flex-start; gap: 4px; } .speichern-btn, .loeschen-btn { font-size: 12px; padding: 4px 8px; width: 100%; } table { font-size: 12px; } } /* -------------------- POPUPS / NACHRICHTEN -------------------- */ .nachricht { display: none; position: fixed; top: 10px; left: 50%; transform: translateX(-50%); padding: 15px 20px; border-radius: 8px; font-size: 16px; z-index: 1000; max-width: 90%; text-align: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } .nachricht.erfolg { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; } .nachricht.fehler { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; } /* -------------------- BESTÄTIGUNGSPOPUP -------------------- */ .confirm-popup { display: none; position: fixed; top: 0; bottom: 50vh; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; z-index: 1000; } .popup-content { background-color: #d8eefe; padding: 20px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); text-align: center; } .confirm-btn { margin: 10px; padding: 10px 20px; font-size: 16px; cursor: pointer; border: none; border-radius: 5px; } .confirm-btn:hover { background-color: #7c5555; } #confirm-yes { background-color: #28a745; color: white; } #confirm-no { background-color: #dc3545; color: white; } /* -------------------- FOOTER -------------------- */ footer { text-align: center; font-size: 15px; font-style: italic; margin-top: 20px; bottom: 0; left: 0; right: 0; position: fixed; } /* -------------------- SCHNEEFLOCKEN -------------------- */ .snowflake { color: #e0f7ff; font-size: 1em; font-family: Arial, sans-serif; text-shadow: 0 0 5px #000; }