/* Basis-Setup */
body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    background: #f4f7f6; 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 20px; 
    color: #333;
}

.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #003d66;
    color: #fff;
    margin-bottom: 30px;
    border-radius: 10px;
    border-bottom: 2px solid #ddd;
    padding: 10px 25px;
}
/* Karten-Design */
.card { 
    background: white; 
    padding: 25px; 
    border-radius: 10px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); 
    margin-bottom: 30px; 
}

h3 { margin-top: 0; color: #444; border-left: 4px solid #007bff; padding-left: 10px; }

/* Tabellen */
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { text-align: left; padding: 12px 15px; border-bottom: 1px solid #eee; }
th { background: #f8f9fa; text-transform: uppercase; font-size: 12px; letter-spacing: 1px; }
tr:hover { background-color: #fcfcfc; }

/* Buttons */
.btn { 
    padding: 8px 14px; 
    border-radius: 6px; 
    text-decoration: none; 
    font-size: 13px; 
    display: inline-flex; 
    align-items: center; 
    transition: all 0.2s;
    border: none;
    cursor: pointer;
    font-weight: 600;
}

.btn-edit { background: #ffc107; color: #212529; margin-right: 5px; }
.btn-export { background: #17a2b8; color: white; margin-right: 5px; }
.btn-del { background: #dc3545; color: white; }
.btn-save { background: #003d66; color: white; padding: 10px 20px; }
.btn-copy { background: #e9ecef; border: 1px solid #ddd; padding: 3px 8px; font-size: 12px; margin-left: 5px; cursor: pointer; border-radius: 4px; }
.btn-down { background: #009ee0; color: white; margin-right: 5px; }

.btn:hover { opacity: 0.85; transform: translateY(-1px); }

/* Die Spalte "Aktion" rechtsbündig ausrichten */
.actions-cell {
    text-align: right;
    display: flex;
    justify-content: flex-end; /* Schiebt den Inhalt nach rechts */
    gap: 8px; /* Sorgt für einen gleichmäßigen Abstand zwischen den Buttons */
}

/* Optional: Damit die Tabellen-Header auch rechtsbündig sind */
th.actions-head {
    text-align: right;
}

/* Formulare */
.form-group { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; align-items: center; }
input[type="text"], input[type="password"], input[type="file"] { 
    padding: 10px; 
    border: 1px solid #ddd; 
    border-radius: 6px; 
    min-width: 150px;
}


/* Styling für die Tabellenköpfe */
thead th {
    background-color: #f8f9fa;
    color: #495057;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #dee2e6;
    padding: 15px;
}

/* Speziell für die sortierbaren Links in den Headern */
thead th a {
    color: #003d66;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s ease-in-out;
}

/* Hover-Effekt: Text wird dunkler und zeigt, dass er klickbar ist */
thead th a:hover {
    color: #0056b3;
    text-decoration: underline;
}

/* Ein kleiner visueller Indikator für die Sortierung (Pfeil-Icon) */
thead th a::after {
    content: '↕'; /* Einfaches Unicode-Symbol für "hoch/runter" */
    font-size: 14px;
    color: #ccc;
}

/* Wenn die Spalte aktiv sortiert wird (optional, falls du eine Klasse 'active' nutzt) */
thead th a.active::after {
    color: #007bff;
}

.btn-copy[title="Suche aufheben"] {
    background: #6c757d;
    color: white;
    border: none;
    margin-left: 5px;
    padding: 8px 12px;
}

.btn-copy[title="Suche aufheben"]:hover {
    background: #5a6268;
}

/* Rechtsbündige Header für die Aktionen-Spalte beibehalten */
th.actions-head {
    text-align: right;
    color: #888; /* Aktionen-Beschriftung etwas dezenter */
}

code { background: #eee; padding: 2px 6px; border-radius: 4px; font-family: monospace; color: #d63384; }

/* Toast Nachricht */
#toast {
    visibility: hidden;
    min-width: 200px;
    background-color: #333;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 12px;
    position: fixed;
    z-index: 100;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
}


.storage-info {
    font-size: 14px;
    color: #555;
    margin-bottom: 5px;
    display: flex;
    justify-content: space-between;
}

.progress-bar-bg {
    background: #e9ecef;
    border-radius: 10px;
    height: 10px;
    width: 100%;
    overflow: hidden;
    margin-bottom: 20px;
}

.progress-bar-fill {
    background: #28a745;
    height: 100%;
    transition: width 0.5s ease;
}

.progress-warn { background: #ffc107 !important; }
.progress-danger { background: #dc3545 !important; }
#toast.show { visibility: visible; animation: fadein 0.5s, fadeout 0.5s 2.5s; }
@keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} }
@keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} }