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

body {
            font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            margin: 0;
            color: #333;
        }

.network-responsive-container {
    display: grid;
    grid-template-rows: auto 1fr;          /* Header + Rest */
    grid-template-columns: 3fr 1fr;
    grid-template-areas:
        "header header"
        "network legend";
    gap: 10px;
    padding: 10px;
    box-sizing: border-box;
    height: 100%;                          /* f체llt das iframe */
    min-height: 0;                         /* wichtig! */
}


        .headline {
            grid-area: header;
            text-align: center;
            padding: 10px 0;
        }

        .headline h1 {
            margin: 0;
            font-size: 1.8rem;
            font-weight: 600;
        }


#mynetwork {
    grid-area: network;
    width: 100%;
    border: 1px solid lightgray;
    border-radius: 8px;
    background-color: #fff;
    min-height: 0;                         /* verhindert Aufbl채hen */
}


.legend {
    grid-area: legend;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 8px;
    border: 1px solid lightgray;
    overflow-y: auto;
    font-size: 14px;
    min-height: 0;
}


        .legend strong {
            display: block;
            margin-bottom: 10px;
            font-size: 1.1rem;
            margin-top: 5px;
        }

        @media (orientation: portrait) { /*früher: max-width: 700px*/
            .network-responsive-container {
                grid-template-columns: 1fr;
                grid-template-areas:
                    "header"
                    "network"
                    "legend";
                height: auto;
            }

            #mynetwork {
                aspect-ratio: 4/3;
                height: auto !important;
            }
        }


        .legend-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 5px;
        }

        .filter-heading {
            margin-top: 20px;
            border-top: 1px solid lightgray;
            padding-top: 15px;
        }

        .filter-list ul {
            padding-left: 20px;
            line-height: 1.6;
            font-size: 14px;
            margin-top: -15px;
        }

        .data-status {
            margin-top: 20px;
            border-top: 1px solid lightgray;
            padding-top: 15px;
        }

        .vis-button {
            -webkit-filter: grayscale(100%);
        }

        .popup {
            display: none;
            position: absolute;
            background-color: #f9f9f9;
            border-radius: 8px;
            border: 1px solid rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            z-index: 1000;
            font-size: 14px;
            line-height: 1.4;
        }

        .popup h3 {
            /* margin-bottom: 10px; */
            margin-top: 0px;
            border-bottom: 1px solid lightgray;
            padding-bottom: 5px;
        }

        .popup table {
            margin-top: -10px;
            margin-bottom: -5px;
        }

        #border {
            width: 100%;
            height: 20px;
            border: 1px solid #eee;
            background-color: #f0f0f0;
            border-radius: 10px;
            overflow: hidden;
        }

        #text {
            margin-top: 15px;
            font-size: 18px;
            font-weight: 500;
        }