/* Grundlegende Stile für den Body und die Schriftart */
body {
    font-family: 'Inter', sans-serif;
    background-color: #1a202c; /* Dunkler Hintergrund für den "techy" Look */
    color: #e2e8f0; /* Helle Textfarbe für guten Kontrast */
    margin: 0; /* Standard-Body-Margin entfernen */
}

/* Allgemeine Link-Stile */
a {
    text-decoration: none;
}

/* Seitenleiste (Sidebar) */
aside {
    background-color: #1f2937; /* Dunkleres Grau für die Sidebar */
    padding: 1.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 0 0.5rem 0.5rem 0; /* Abgerundete Ecken nur rechts */
    width: 100%; /* Mobile: volle Breite */
    min-height: auto; /* Mobile: Höhe passt sich Inhalt an */
    order: -1; /* Mobile: Sidebar über dem Hauptinhalt */
}

@media (min-width: 768px) { /* Medium-Bildschirme und größer */
    aside {
        width: 16rem; /* Feste Breite für Desktop */
        min-height: 100vh; /* Mindestens volle Viewport-Höhe */
        order: 0; /* Desktop: Sidebar links */
    }
}

/* Navigationslinks in der Sidebar */
aside nav ul li a {
    display: flex;
    align-items: center;
    padding: 0.75rem;
    border-radius: 0.5rem;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

aside nav ul li a:hover {
    background-color: #374151; /* Dunkleres Grau beim Hover */
    color: #ffffff;
}

aside nav ul li a.active,
aside nav ul li a.bg-indigo-600 { /* Aktiver Link */
    background-color: #4f46e5; /* Indigo */
    color: #ffffff;
}

/* Hauptinhaltsbereich */
main {
    flex-grow: 1;
    padding: 1rem; /* Padding für Mobilgeräte */
    background-color: #1a202c; /* Hintergrundfarbe des Hauptbereichs */
}

@media (min-width: 768px) { /* Medium-Bildschirme und größer */
    main {
        padding: 2rem; /* Mehr Padding für Desktop */
    }
}

/* Header des Hauptbereichs */
.page-header {
    display: flex;
    flex-direction: column; /* Mobile: Spaltenlayout */
    align-items: flex-start;
    margin-bottom: 1.5rem;
}

@media (min-width: 768px) { /* Medium-Bildschirme und größer */
    .page-header {
        flex-direction: row; /* Desktop: Zeilenlayout */
        justify-content: space-between;
        align-items: center;
    }
}

.page-header h1 {
    font-size: 1.875rem; /* text-3xl */
    font-weight: 700; /* font-bold */
    color: #ffffff;
    margin-bottom: 1rem; /* Abstand unter dem Titel auf Mobilgeräten */
}

@media (min-width: 768px) {
    .page-header h1 {
        margin-bottom: 0;
    }
}

.add-asset-btn {
    background-color: #4f46e5; /* bg-indigo-600 */
    color: #ffffff;
    font-weight: 700; /* font-bold */
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.2s ease-in-out;
    width: 100%; /* Volle Breite auf Mobilgeräten */
}

.add-asset-btn:hover {
    background-color: #4338ca; /* hover:bg-indigo-700 */
}

@media (min-width: 768px) {
    .add-asset-btn {
        width: auto; /* Automatische Breite auf Desktops */
    }
}

/* Dashboard Widgets */
.dashboard-widgets {
    display: grid;
    grid-template-columns: 1fr; /* Mobile: Eine Spalte */
    gap: 1.5rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) { /* Medium-Bildschirme und größer */
    .dashboard-widgets {
        grid-template-columns: repeat(2, 1fr); /* Desktop: Zwei Spalten */
    }
}

@media (min-width: 1024px) { /* Large-Bildschirme und größer */
    .dashboard-widgets {
        grid-template-columns: repeat(3, 1fr); /* Desktop: Drei Spalten */
    }
}

.widget {
    background-color: #1f2937; /* bg-gray-800 */
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.widget div:first-child { /* text-gray-400 text-sm mb-2 */
    color: #9ca3af;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
}

.widget div:last-child { /* text-4xl font-bold */
    font-size: 2.25rem;
    font-weight: 700;
}

.widget .text-indigo-400 { color: #818cf8; }
.widget .text-green-400 { color: #4ade80; }
.widget .text-yellow-400 { color: #facc15; }

/* Asset-Liste Sektion */
.asset-list-section {
    background-color: #1f2937; /* bg-gray-800 */
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.asset-list-section h2 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 600; /* font-semibold */
    color: #ffffff;
    margin-bottom: 1rem; /* Abstand unter dem Titel auf Mobilgeräten */
}

@media (min-width: 768px) {
    .asset-list-section h2 {
        margin-bottom: 0;
    }
}

.search-input {
    background-color: #374151; /* bg-gray-700 */
    color: #ffffff;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid #4b5563; /* border-gray-600 */
    outline: none;
    width: 100%; /* Volle Breite auf Mobilgeräten */
}

.search-input:focus {
    border-color: #6366f1; /* focus:border-indigo-500 */
}

@media (min-width: 768px) {
    .search-input {
        width: auto; /* Automatische Breite auf Desktops */
    }
}

/* Tabelle */
table {
    width: 100%;
    border-collapse: collapse;
}

table thead th {
    padding: 0.75rem 1rem;
    text-align: left;
    font-size: 0.75rem; /* text-xs */
    font-weight: 500; /* font-medium */
    color: #9ca3af; /* text-gray-400 */
    text-transform: uppercase;
    letter-spacing: 0.05em; /* tracking-wider */
    border-bottom: 1px solid #374151; /* divide-gray-700 */
}

table tbody td {
    padding: 1rem 1rem;
    white-space: nowrap; /* Verhindert Zeilenumbrüche in Zellen */
    border-bottom: 1px solid #374151; /* divide-gray-700 */
}

table tbody tr:hover {
    background-color: #374151; /* hover:bg-gray-700 */
    transition: background-color 0.2s ease-in-out;
}

/* Status-Badges */
.status-badge {
    display: inline-flex;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem; /* text-xs */
    line-height: 1.25rem; /* leading-5 */
    font-weight: 600; /* font-semibold */
    border-radius: 9999px; /* rounded-full */
}

.status-badge.bg-green-100 { background-color: #d1fae5; color: #065f46; } /* bg-green-100 text-green-800 */
.status-badge.bg-yellow-100 { background-color: #fef3c7; color: #92400e; } /* bg-yellow-100 text-yellow-800 */

/* Aktionen Links (Bearbeiten, Löschen) */
.text-indigo-400 { color: #818cf8; }
.text-indigo-400:hover { color: #6366f1; } /* hover:text-indigo-600 */
.text-red-400 { color: #f87171; }
.text-red-400:hover { color: #ef4444; } /* hover:text-red-600 */

/* Icons in Aktionen */
.text-indigo-400 .fas,
.text-red-400 .fas {
    font-size: 0.875rem; /* Kleinere Icons */
}

/* Verstecken von Spalten auf Mobilgeräten */
@media (max-width: 767px) { /* Nur auf kleinen Bildschirmen */
    .hidden.md\:table-cell {
        display: none;
    }
}
