Files
Buchhaltung/public/style.css
T
2025-11-15 18:54:32 +01:00

322 lines
7.2 KiB
CSS

/* -------------------- 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;
}