/* Site integration only; the client-supplied performance model is unchanged. */
html, body { min-width: 0; }
body { display: flex; flex-direction: column; height: 100vh; height: 100dvh; overflow: hidden; }
.calculator-site-nav { align-items: center; background: #14243a; color: #d6e2ed; display: flex; flex: 0 0 auto; font-size: 12px; gap: 14px; justify-content: space-between; padding: 10px 16px; }
.calculator-site-nav a { color: #fff; font-weight: 600; text-decoration: none; }
.calculator-site-nav a:hover { text-decoration: underline; }
.calculator-site-nav[hidden] { display: none; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #d98021; outline-offset: 3px; }
.main, .app, .sidebar, .panel, .map-container { min-height: 0; min-width: 0; }
.main { flex: 1 1 auto; }
.app { flex: 1 1 auto; height: auto; }
.map-container { min-height: 180px; }
.panel { min-height: 0; }
.field input { max-width: 100%; }
.calculator-map-warning { background: #fff8df; border: 1px solid #b98121; border-radius: 5px; color: #4b3818; font-size: 13px; left: 12px; line-height: 1.45; max-width: 440px; padding: 12px; position: absolute; right: 12px; top: 52px; z-index: 1500; }
@media (min-width: 861px) {
    [data-calculator="j2000"] .app { flex-direction: row-reverse; }
    [data-calculator="j2000"] .map-wrap { flex: 1 1 auto; min-width: 0; }
    [data-calculator="j2000"] .panel { border-right: 1px solid #d0d8e0; border-top: 0; flex: 0 0 380px; width: 380px; }
}
@media (max-width: 860px) {
    [data-calculator="j110"] header { gap: 10px; padding: 10px 12px; }
    [data-calculator="j110"] header h1 { font-size: 16px; }
    [data-calculator="j110"] header .subtitle { font-size: 11px; }
    [data-calculator="j110"] .logo-tag { display: none; }
    [data-calculator="j110"] .map-container { flex: 0 0 42%; order: -1; }
    [data-calculator="j110"] .sidebar { flex: 1 1 auto; max-height: none; min-width: 0; padding: 12px; width: 100%; }
    [data-calculator="j2000"] .map-wrap { flex-basis: 42%; min-height: 180px; }
    input[type="text"].search, input[type="number"] { font-size: 16px; }
    .calculator-site-nav span { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .j110-icon, .j2000-rot { transition: none; }
}
