html {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

/* Breite Tabellen und Diagramme duerfen den mobilen App-Viewport nicht aufziehen. */
.forecast-shell {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    contain: layout inline-size paint;
}

.forecast-shell > * {
    min-width: 0;
    max-width: 100%;
}

.forecast-scroll-region {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Custom subtle scrollbar for sidebar & scroll regions */
nav::-webkit-scrollbar {
    width: 5px;
}
nav::-webkit-scrollbar-track {
    background: transparent;
}
nav::-webkit-scrollbar-thumb {
    background: rgba(203, 213, 225, 0.5);
    border-radius: 9999px;
}
nav::-webkit-scrollbar-thumb:hover {
    background: rgba(148, 163, 184, 0.8);
}

/* iOS zoomt Formularfelder mit weniger als 16 px beim Fokussieren automatisch. */
@media (max-width: 767px) {
    .forecast-shell input,
    .forecast-shell select,
    .forecast-shell textarea {
        font-size: 16px !important;
    }
}
