/* index_style.css */
/* Global */
* {
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: #f4f7fb;
    margin: 20px;
    color: #333;
    -webkit-font-smoothing: antialiased;
}

h1 {
    text-align: center;
    color: #2c3e50;
    margin-bottom: 10px;
}

/* Top-Bar / Auswahlleiste */
.top-bar {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 10px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgb(0 0 0 / 0.08);
    margin-bottom: 20px;
    column-gap: 16px;
}

/* linke und rechte Box gleich groß */
.top-bar-left,
.top-bar-right {
    flex: 1;
    display: flex;
    align-items: center;
}

/* eigenes Feld für die drei Links links */
.top-bar-left-inner {
	display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* eigenes Feld für die drei Links Rechts */
.top-bar-right-inner {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Logout rechtsbündig */
.top-bar-right {
    justify-content: flex-end;
}

/* mittlere Box bleibt kompakt zentriert */
.top-bar-center {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.top-logo {
    height: 40px;
    width: 40px;
}

.top-title {
    font-size: 20px;
    font-weight: 600;
    color: #2c3e50;
}

/* Card-Formulare (für Filter / Info, nicht für Header-Forms) */
.card-form {
    max-width: 100%;
    margin: 0 auto 25px auto;
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgb(0 0 0 / 0.08);
}

/* Index-Tabelle: nur über Klassenscope .files-table */
.files-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px;
}

.files-table thead tr:first-child th {
    background-color: #fafafa;
    padding: 8px 10px;
}

.files-table thead tr:first-child th input[type="text"] {
    width: 90%;
    padding: 6px 8px;
    font-size: 14px;
    border-radius: 6px;
    border: 1.5px solid #ccc;
    transition: border-color 0.3s ease;
}

.files-table thead tr:first-child th input[type="text"]:focus {
    border-color: #2980b9;
    outline: none;
    background: #f0f8ff;
}

.files-table thead tr:nth-child(2) th {
    background-color: #2980b9;
    color: white;
    font-weight: 600;
    padding: 12px 16px;
    text-align: left;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    user-select: none;
}

.files-table tbody tr {
    background: #fdfdfd;
    box-shadow: 0 1px 3px rgb(0 0 0 / 0.1);
    transition: background 0.3s ease;
    border-radius: 8px;
}

.files-table tbody tr:hover {
    background: #e6f0fa;
}

.files-table tbody td {
    padding: 10px 16px;
    vertical-align: middle;
    border: none;
    font-size: 14px;
    color: #34495e;
}

.highlight-row {
    background-color: #fff9c4 !important;
}

.action-buttons {
    display: flex;
    gap: 8px;
}

/* Buttons / Links */
.download-btn {
    padding: 8px 12px;
    font-size: 14px;
    border-radius: 5px;
    text-decoration: none;
    color: white;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-align: center;
}

.download-btn.replace-company {
    background-color: #95a5a6; /* Orange, passend zu Delete */
}

.download-btn.replace-company:hover {
    background-color: #7f8c8d;
}

.download-btn.download {
    background-color: #2980b9;
}
.download-btn.map,
.download-btn.count {
    background-color: #27ae60;
}
.download-btn.delete {
    background-color: #c0392b;
}
.download-btn.initialize,
.download-btn.edit {
    background-color: #00339A;
}
.download-btn:hover.download {
    background-color: #1e6391;
}
.download-btn:hover.map,
.download-btn:hover.count {
    background-color: #1e874b;
}
.download-btn:hover.delete {
    background-color: #992d22;
}
.download-btn:hover.initialize,
.download-btn:hover.edit {
    background-color: #0036B1;
}

/* Font Awesome Icon in Buttons */
.btn-icon-fa {
    font-size: 16px;
}

/* Logout-Button im Header */
.logout-form {
    margin: 0;
}
.logout-form button {
    cursor: pointer;
    background: #c0392b;
    color: white;
    border: none;
    padding: 8px 15px;
    border-radius: 6px;
}
.logout-form button:hover {
    background: #992d22;
}

/* Login-Seite */
.login-page-body {
    font-family: Arial, sans-serif;
    padding: 20px;
    background: #f4f7fb;
}


/* Login: Card soll auf kleinen Screens volle Breite nutzen */
.login-page-form {
  width: 100%;
  max-width: 450px;   /* bleibt wie gehabt */
  margin: 0 auto;
}

.login-page-label {
    display: block;
    margin-bottom: 10px;
}

.login-page-input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
}

.login-page-button {
    padding: 10px 15px;
    background: #2980b9;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    width: 100%;
}

.login-page-button:hover {
    background: #1e6391;
}

.login-error {
    color: red;
    margin-bottom: 15px;
    text-align: center;
}

/* Login: Links sollen umbrechen statt overflowen */
.login-links {
  display: flex;
  flex-wrap: wrap;          /* erlaubt Umbruch in mehrere Zeilen */ 
  justify-content: center;
  gap: 8px;
  padding: 0 10px;
}

/* Tap-Ziel größer machen */
.login-links a {
  padding: 10px 12px;
}

.login-links a:hover {
    color: #9da3ac;
}

.login-links a.active {
    border-bottom: 3px solid #3274d6;
    color: #3274d6;
}

.login-change-password-link {
    display:inline-block;
    margin-bottom:15px;
    text-decoration: none;
    color: grey;
}

/* Map-spezifisch (für map.php) */
#map {
    height: 600px;
    width: 100%;
    margin: 20px 0;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgb(0 0 0 / 0.08);
}

/* Buttons-Leiste unter Tabelle/Karte */
.buttons {
    max-width: 620px;
    margin: 15px auto;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.buttons button {
    padding: 8px 14px;
    font-size: 14px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    color: white;
    background-color: #2980b9;
    font-weight: 600;
    user-select: none;
}

.buttons button:hover {
    background-color: #1e6391;
}

/* Map-Popup-Buttons (map.php) */
.mappopup-btn-container {
    display: flex;
    gap: 4px;
    margin-top: 4px;
}

.mappopup-btn,
.mappopup-btn:link,
.mappopup-btn:visited {
    flex: 1 0 0;
    text-align: center;
    padding: 6px 4px;
    border-radius: 4px;
    background-color: #007bff;
    color: #ffffff !important;
    text-decoration: none;
    font-size: 12px;
    border: none;
    cursor: pointer;
}

.mappopup-btn:hover,
.mappopup-btn:active {
    background-color: #0056b3;
    color: #ffffff !important;
}

/* Routes-Seite (route.php) */
.routes-container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 20px;
}

.routes-section {
    background: #fff;
    margin: 20px 0;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 4px 10px rgb(0 0 0 / 0.08);
}

.routes-section-title {
    color: #2c3e50;
    border-bottom: 3px solid #2980b9;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 1.3em;
    font-weight: 600;
}

.route-link {
    display: inline-block;
    background: #2980b9;
    color: white;
    padding: 15px 25px;
    margin: 10px 10px 10px 0;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.route-link:hover {
    background: #1e6391;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

/* Spezielle Hervorhebung für section_art = Gesamt */
.route-link-gesamt {
    background: #27ae60;
}

.route-link-gesamt:hover {
    background: #1e874b;
}

.routes-title {
    text-align: center;
    font-size: 2.5em;
    margin-bottom: 10px;
    color: #2c3e50;
}

.routes-subtitle {
    text-align: center;
    color: #7f8c8d;
    margin-bottom: 30px;
    font-size: 1.1em;
}

.message {
    background: #ffebee;
    color: #c62828;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 30px;
    border-left: 5px solid #f44336;
}

/* Edit-Formular (edit.php) */
.edit-form {
    max-width: 500px;
}

.edit-form label {
    display: block;
    margin-bottom: 15px;
    font-weight: 600;
    color: #2c3e50;
}

.edit-form input[type="text"] {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    box-sizing: border-box;
}

.edit-form input[type="text"]:focus {
    border-color: #2980b9;
    outline: none;
    box-shadow: 0 0 5px rgba(41, 128, 185, 0.3);
}

.edit-buttons {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.edit-buttons button {
    flex: 1;
    padding: 10px 15px;
    font-size: 14px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    color: white;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.edit-buttons .save {
    background-color: #27ae60;
}

.edit-buttons .save:hover {
    background-color: #1e874b;
}

.edit-buttons .cancel,
.edit-buttons .back-btn {
    background-color: #7f8c8d;
}

.edit-buttons .cancel:hover,
.edit-buttons .back-btn:hover {
    background-color: #6c7a7b;
}

.edit-buttons .download-map-btn {
    background-color: #27ae60;
}

.edit-buttons .download-map-btn:hover {
    background-color: #1e874b;
}

.admin-banner {
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 6px;
	padding: 12px 15px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #856404;
}

.admin-banner i {
	font-size: 18px;
	color: #ffc107;
}

.admin-banner a {
	color: #856404;
	text-decoration: none;
	font-weight: 600;
	border-bottom: 2px solid #ffc107;
	transition: all 0.3s ease;
}

.admin-banner a:hover {
	color: #7d4e00;
	border-bottom-color: #ff9800;
}

/* Farbige Hervorhebung der Bereichs-Sectionen (für count.php) */
.section-0-9   { background-color: #FFEBEE; }
.section-10-19 { background-color: #E3F2FD; }
.section-20-29 { background-color: #E8F5E9; }
.section-30-39 { background-color: #FFF3E0; }
.section-40-49 { background-color: #F3E5F5; }
.section-50-59 { background-color: #FBE9E7; }
.section-60-69 { background-color: #E0F7FA; }
.section-70-79 { background-color: #F9FBE7; }
.section-80-89 { background-color: #FFFDE7; }
.section-90-99 { background-color: #EFEBE9; }

/* Responsive */
@media (max-width: 900px) {
    .files-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .files-table tbody td,
    .files-table thead th {
        white-space: nowrap;
    }

    .top-bar {
        flex-direction: column;
        row-gap: 10px;
    }

    .top-bar-left,
    .top-bar-right {
        justify-content: center;
    }

    .routes-container {
        padding: 10px;
    }

    .routes-title {
        font-size: 2em;
    }

    .route-link {
        padding: 12px 20px;
        font-size: 0.9em;
        margin: 8px 8px 8px 0;
    }

    div[style*="display: flex; gap: 20px"] {
        flex-direction: column;
    }
}

.login-legal-hint{
    margin-top: 12px;
    font-size: 0.9rem;
    color: #666;
    text-align: center;
}

.login-legal-hint a{
    color: inherit;
    text-decoration: underline;
}

.login-footer{
    margin-top: 18px;
    text-align: center;
    font-size: 0.95rem;
}

.login-footer-link{
    color: #666;
    text-decoration: none;
}

.login-footer-link:hover{
    text-decoration: underline;
}

.login-footer-sep{
    margin: 0 10px;
    color: #aaa;
}

.upload-section { max-width: 600px; }
.upload-section label { display:block; margin-bottom:10px; font-weight:600; color:#2c3e50; font-size:1.05em; }
.upload-section input[type="file"], .upload-section select {
	width:100%; padding:10px; margin-bottom:15px; border:2px dashed #2980b9; border-radius:6px;
	font-size:14px; box-sizing:border-box; background:#f9f9f9;
}
.upload-section input[type="file"]:focus, .upload-section select:focus { outline:none; border-color:#1e6391; background:#f0f8ff; }
.upload-buttons { display:flex; gap:10px; margin-top:20px; }
.upload-buttons button {
	flex:1; padding:12px 20px; font-size:14px; border:none; border-radius:6px; cursor:pointer;
	font-weight:600; color:white; display:inline-flex; align-items:center; justify-content:center; gap:6px;
}
.upload-buttons .upload-btn { background-color:#27ae60; }
.upload-buttons .upload-btn:hover { background-color:#1e874b; }
.upload-buttons .back-btn { background-color:#7f8c8d; }
.upload-buttons .back-btn:hover { background-color:#6c7a7b; }
.message-box { background:#f9f9f9; padding:15px; border-radius:8px; margin-bottom:20px; border-left:4px solid #2980b9; }
.message-box span {
  overflow-wrap: break-word; /* Standard-Eigenschaft */
  word-wrap: break-word;     /* Legacy-Alias, oft zusätzlich genutzt */
  word-break: break-word;    /* zusätzliche Absicherung in manchen Browsern */
}

.upload-info { background:#e8f4f8; padding:15px; border-radius:8px; margin-bottom:20px; border-left:4px solid #3498db; color:#2c3e50; font-size:0.95em; }
.upload-info i { margin-right:8px; color:#2980b9; }


    .wrap { max-width: 1400px; margin: 0 auto; padding: 16px; }
    .box { background:#fff; border:1px solid #e5e5e5; border-radius:10px; padding:14px; margin:14px 0; }
    .msg { padding:10px 12px; border-radius:8px; margin:10px 0; }
    .ok { background:#e8f5e8; border:1px solid #27ae60; }
    .err { background:#fdecea; border:1px solid #e74c3c; }
    .warn { background:#fff7e6; border:1px solid #f39c12; }

    table { width:100%; border-collapse: collapse; display: table !important; }
    thead { display: table-header-group !important; }
    tbody { display: table-row-group !important; }
    tr { display: table-row !important; }
    th, td { display: table-cell !important; }

    th, td { border-bottom: 1px solid #eee; padding: 8px 10px; vertical-align: top; text-align:left; }
    th { position: sticky; top: 0; background: #fafafa; z-index: 2; }
    input[type="text"] { width: 100%; padding: 8px; border:1px solid #ddd; border-radius:6px; box-sizing: border-box; }
    .btn { padding:8px 10px; border:0; border-radius:6px; background:#3498db; color:#fff; cursor:pointer; font-weight:600; }
    .meta { color:#666; font-size: 12px; }
    .rowhdr { white-space: nowrap; color:#666; }
    .nowrap { white-space: nowrap; }

    /* Art-Spalte mindestens 200px (Art ist 4. Spalte: CSV-Zeile, Time, GNSSTime, Art) */
    th:nth-child(4), td:nth-child(4) { min-width: 200px; }
    td:nth-child(4) input[type="text"] { min-width: 200px; }

.edit-form {
            max-width: 500px;
        }
        .edit-form label {
            display: block;
            margin-bottom: 15px;
            font-weight: 600;
            color: #2c3e50;
        }
        .edit-form input[type="text"] {
            width: 100%;
            padding: 10px;
            margin-top: 5px;
            border: 1px solid #ccc;
            border-radius: 6px;
            font-size: 14px;
            box-sizing: border-box;
        }
        .edit-form input[type="text"]:focus {
            border-color: #2980b9;
            outline: none;
            box-shadow: 0 0 5px rgba(41, 128, 185, 0.3);
        }
        .edit-buttons {
            display: flex;
            gap: 10px;
            margin-top: 20px;
        }
        .edit-buttons button {
            flex: 1;
            padding: 10px 15px;
            font-size: 14px;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            font-weight: 600;
            color: white;
        }
        .edit-buttons .save {
            background-color: #27ae60;
        }
        .edit-buttons .save:hover {
            background-color: #1e874b;
        }
        .edit-buttons .cancel {
            background-color: #7f8c8d;
        }
        .edit-buttons .cancel:hover {
            background-color: #6c7a7b;
        }
        
         .mappopup-copy-btn {
            border: none;
            background: transparent;
            cursor: pointer;
            font-size: 12px;
            padding: 0 2px;
            margin-left: 4px;
            line-height: 1;
        }
        .mappopup-copy-btn:focus {
            outline: none;
        }
        .map-filter-form {
            max-width: none;
            margin: 0;
        }
        .map-filter-form label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: #2c3e50;
        }
        .map-filter-form input[type="text"] {
            width: 100%;
            padding: 8px 12px;
            margin-bottom: 10px;
            border: 1px solid #ccc;
            border-radius: 6px;
            font-size: 14px;
            box-sizing: border-box;
        }
        .map-filter-form button {
            width: 100%;
            background-color: #2980b9;
            color: white;
            padding: 8px 15px;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            font-weight: 600;
        }
        .map-filter-form button:hover {
            background-color: #1e6391;
        }
        
        
        
        .coordinates-container {
            max-width: 700px;
            margin: 0 auto;
        }

        .coordinates-section {
            background: #fff;
            padding: 20px;
            border-radius: 12px;
            box-shadow: 0 4px 10px rgb(0 0 0 / 0.08);
            margin-bottom: 20px;
        }

        .coordinates-section h3 {
            color: #2c3e50;
            margin-top: 0;
            margin-bottom: 15px;
            font-size: 1.1em;
            border-bottom: 2px solid #2980b9;
            padding-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .coordinates-section h3 i {
            color: #2980b9;
        }

        .coordinates-section label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: #2c3e50;
            font-size: 0.95em;
        }

        .coordinates-section input[type="text"],
        .coordinates-section select,
        .coordinates-section textarea {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ccc;
            border-radius: 6px;
            font-size: 14px;
            box-sizing: border-box;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        .coordinates-section input[type="text"]:focus,
        .coordinates-section select:focus,
        .coordinates-section textarea:focus {
            border-color: #2980b9;
            outline: none;
            box-shadow: 0 0 5px rgba(41, 128, 185, 0.3);
        }

        .coordinates-section textarea {
            resize: vertical;
            min-height: 80px;
        }

        .coordinates-buttons {
            display: flex;
            gap: 10px;
            margin-top: 20px;
            flex-wrap: wrap;
        }

        .coordinates-buttons button {
            flex: 1;
            min-width: 150px;
            padding: 12px 15px;
            font-size: 13px;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            font-weight: 600;
            color: white;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: all 0.3s ease;
        }

        .coordinates-buttons .here-btn {
            background-color: #007cc3;
        }

        .coordinates-buttons .here-btn:hover {
            background-color: #0059a3;
        }

        .coordinates-buttons .mapcreator-btn {
            background-color: #ff6b35;
        }

        .coordinates-buttons .mapcreator-btn:hover {
            background-color: #e55a25;
        }

        .coordinates-buttons .google-btn {
            background-color: #4285f4;
        }

        .coordinates-buttons .google-btn:hover {
            background-color: #357ae8;
        }

        .info-box {
            background: #e8f4f8;
            border-left: 4px solid #3498db;
            padding: 12px 15px;
            border-radius: 4px;
            margin-bottom: 15px;
            font-size: 0.9em;
            color: #2c3e50;
        }

        .info-box i {
            margin-right: 8px;
            color: #2980b9;
        }

        @media (max-width: 600px) {
            .coordinates-buttons {
                flex-direction: column;
            }

            .coordinates-buttons button {
                width: 100%;
                min-width: auto;
            }
        }
        
        
.table-scroll{
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* iOS smoother */
}

.files-table{
  width: max-content;     /* Table darf so breit sein wie Inhalt */
  min-width: 100%;        /* aber mindestens Containerbreite */
  border-collapse: collapse;
}

/* optional: verhindert Umbrüche, macht horizontales Scrollen „klarer“ */
.files-table th,
.files-table td{
  white-space: nowrap;
}




/* --- Responsive Header: Desktop Buttons -> Mobile Dropdown --- */

/* Default: Desktop zeigt Button-Leiste, Mobile-Menü ist aus */
.top-nav-mobile { display: none; }
.top-nav-desktop { display: inline-flex; }

/* Mobile: Button-Leiste aus, Dropdown an */
@media (max-width: 720px) {
  .top-nav-desktop { display: none; }
  .top-nav-mobile { display: block; width: 100%; }

  /* Dropdown Panel */
  .top-nav-mobile-panel {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  /* summary wie Button aussehen lassen */
  .top-nav-mobile > summary.download-btn {
    list-style: none;     /* Marker-Stil */
  }
  .top-nav-mobile > summary::-webkit-details-marker {
    display: none;
  }

  /* Header allgemein kompakter */
  .top-bar {
    flex-direction: column;
    row-gap: 10px;
  }
  .top-bar-left,
  .top-bar-right {
    justify-content: center;
  }
}


/* Screenreader-only helper */
.sr-only{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}

/* Toggle (summary) als Icon-Button */
.top-nav-mobile-toggle{
  display: flex;
  align-items: center;      /* vertikal zentriert */
  justify-content: center;  /* horizontal zentriert */

  width: 44px;
  height: 44px;

  list-style: none;
  cursor: pointer;
}

/* Marker entfernen (Safari/Chrome etc.) */
.top-nav-mobile-toggle::-webkit-details-marker{ display:none; }
.top-nav-mobile-toggle::marker{ content: ""; }

/* Icon-Größe */
.top-nav-mobile-toggle i{ font-size: 18px; }


/* Mobile Umschaltung wie vorher */
.top-nav-mobile { display:none; }
.top-nav-desktop { display:inline-flex; }

@media (max-width: 720px){
  .top-nav-desktop { display:none; }
  .top-nav-mobile { display:block; }
}





/* Tabellen auf kleinen Screens horizontal scrollbar */
.table-wrapper{
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch; /* smooth scroll auf iOS */
}

/* Table darf breiter als Screen werden (damit Scroll entsteht) */
.table-wrapper > table{
  width: max-content;  /* so breit wie Inhalt */
  min-width: 100%;     /* aber mindestens Containerbreite */
  border-collapse: collapse;
}

/* Optional: verhindert Zeilenumbrüche und macht horizontales Scrollen klarer */
.table-wrapper th,
.table-wrapper td{
  white-space: nowrap;
}

.files-table td a.stealth-link,
.files-table td a.stealth-link:visited,
.files-table td a.stealth-link:hover,
.files-table td a.stealth-link:active,
.files-table td a.stealth-link:focus {
  text-decoration: none !important;
  color: inherit !important;
}

a.build-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;                 /* Abstand Text ↔ Icon */
}

a.build-link i {
  font-size: 0.85em;
  opacity: 0.65;            /* weniger “Link-auffällig” */
}


