@font-face {
    font-family: 'FS Albert Web Regular';
    /* Pfade relativ zum CSS-Ordner oder absolute Pfade vom Root */
    src: url('/fonts/FSAlbertWeb-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'FS Albert Web Bold';
    src: url('/fonts/FSAlbertWeb-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Body verwendet jetzt die lokale Schriftart */
body {
    font-family: 'FS Albert Web Regular', sans-serif;
    background-color: #f8f9fa; /* Entspricht Tailwind bg-light-bg */
    color: #495057; /* Entspricht Tailwind text-primary-text */
}

/* Primärfarben etc. als CSS Variablen */
:root {
    --primary-blue: #00549f;
    --primary-text: #495057;
    --heading-text: #343a40;
    --border-color: #dee2e6;
    --hover-blue: #004080;
    --accent-orange: #fd7e14;
}

/* Simple CSS spinner */
.loader {
    border: 4px solid #e9ecef;
    border-top: 4px solid var(--primary-blue);
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    display: inline-block;
    margin-left: 8px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

html, body {
    height: 100%;
    margin: 0;
}

.copy-btn {
    cursor: pointer;
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
    opacity: 0.6;
    transition: opacity 0.2s ease-in-out;
    color: var(--primary-text);
}

.copy-btn:hover {
    opacity: 1;
    color: var(--primary-blue);
}

.tooltip {
    position: relative;
    display: inline-block;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 80px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -40px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

.tooltip .show {
    visibility: visible;
    opacity: 1;
}

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #aaa;
}

b, strong {
    font-family: 'FS Albert Web Bold', sans-serif;
    font-weight: 700; /* Explizit setzen */
}


h1, h2, h3 {
    font-family: 'FS Albert Web Bold', sans-serif;
}

.copy-btn-container {
    opacity: 0; /* Hidden by default */
    transition: opacity 0.2s ease-in-out;
}

tr:hover .copy-btn-container {
    opacity: 0.6; /* Visible on row hover */
}

.copy-btn-container:hover {
    opacity: 1;
    color: var(--primary-blue);
}

.checkmark-btn {
    cursor: pointer;
    color: var(--accent-orange);
    transition: color 0.2s;
}

.checkmark-btn:hover {
    color: #f97316; /* Darker Orange */
}

.row-done {
    background-color: #f8fafc; /* Slightly off-white */
    color: #9ca3af; /* Gray text */
}

.status-wrapper { /* keep everything aligned left */
    display: inline-flex;
    align-items: center;
    gap: 6px;

}

.status-wrapper .status-action {
    display: none;
}

/* Do NOT hide the label on hover */
.status-cell-container:hover .status-wrapper .status-text {
    display: inline-flex;
}

.status-cell-container:hover .status-wrapper .status-action {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start; /* left aligned */
}