    html, body {
	    height: 100%;
	    overflow: auto;
    }

    body {
        display: flex;
        flex-direction: column;
    }

        #map_canvas {
        flex: 1;                /* take remaining vertical space */
        min-height: 100px;      /* optional, prevents collapsing */
        background: azure;
    }

    .grid-search {
        padding: 4px 6px;
        align-self: flex-end;
        margin-bottom: 2px;
    }

    #grid {
        max-width: 100%;
        height: 300px;
        font-size: small;
    }

    #grid-container {
        overflow: auto;         /* allow scrolling if content exceeds */
        flex-direction: column;
        display: flex;
    }
    
    /* flex blox to make map take up remaining screen */
    .box {
      display: flex;
      flex-flow: column;
      height: 100%;
    }

    .box .row {
      border: 1px dotted grey;
    }

    .box .row.header {
      flex: 0 1 auto;
      /* The above is shorthand for:
      flex-grow: 0,
      flex-shrink: 1,
      flex-basis: auto
      */
    }

    .box .row.content {
      flex: 1 1 auto;
    }

    .box .row.footer {
      flex: 0 1 40px;
    }


    
	li {
	  padding-bottom:5px;
      font-size: small;
	}

    a {
        font-size: small;
    }


    /* On mouse-over */
    .btn:hover {background: #ccc;}


    .app-banner {
        display: flex;
        align-items: center;
        justify-content: space-between;

        height: 56px;
        padding: 0 5px;
    }

    /* LEFT */
    .banner-left {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .app-icon {
        width: 36px;
        height: 36px;
    }

    .app-title {
        font-size: large;
        font-weight: 600;
    }

    /* RIGHT */
    .banner-right {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-left: auto;
    }

    .banner-link {
        background: none;
        border: none;
        font-size: 14px;
        cursor: pointer;
        padding: 4px 6px;
    }

    .banner-link:hover {
        text-decoration: underline;
    }

    /* Menu button (reuse your styles) */
    .settings-btn {
        background: transparent;
        border: none;
        padding: 0;
        cursor: pointer;
    }

    /* Remove the close button */
    .gm-ui-hover-effect[title="Close"] {
        display: none !important;
    }

.tabulator-row.row-invalid {
    background-color: #f5d5d5 !important;
}

.tabulator-row.row-invalid .tabulator-cell {
    border-bottom-color: #f5c2c2;
}

.tabulator-row.row-expired {
    color: #999;
}

.tabulator-row.row-expired .tabulator-cell {
    color: #999;
}

/* Minimal numeric editor */
.tabulator-cell input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.tabulator-cell input[type="number"]::-webkit-outer-spin-button,
.tabulator-cell input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.latlng-cell {
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: #555;
}

.tabulator-cell textarea {
    min-height: 120px;
    resize: vertical;
    width: 100%;
    box-sizing: border-box;
}

.tabulator-tooltip .multiline-tooltip {
    white-space: pre-wrap;   /* <-- preserves newlines */
    max-width: 300px;
    font-size: 13px;
    line-height: 1.4;
}

/* Hide the sort arrow icons */
.tabulator .tabulator-col .tabulator-col-content .tabulator-arrow {
    display: none !important;
}