table
{
    box-shadow: var(--shadow3);

}

body.HIDE_PARCELS
{
    & tr>*.Parcels {display: none;}
}

/* ── Environment banner (non-prod solo) — replicato da CT2026 ──────────
 * Layout rule: the banner is a 22px fixed strip above any header. To avoid
 * clobbering page padding/header top values (which vary per page via
 * --header-height overrides), we expose --env-banner-height (0 by default,
 * 22px when has-env-banner is set) and let katana's body/header rules use
 * it additively. */
:root { --env-banner-height: 0px; }
body.has-env-banner { --env-banner-height: 22px; }

.env-banner {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--env-banner-height, 22px);
    line-height: var(--env-banner-height, 22px);
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
    z-index: 99999;
    text-transform: uppercase;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    pointer-events: none;
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
.env-banner-dev   { background: #546e7a; } /* blu-grigio */
.env-banner-stage { background: #f57c00; } /* arancione saturo */
/* prod: banner non inserito */

/* Shift the page header DOWN by the banner height, and add the same amount
 * to the body padding so content does not slip under the now-lower header.
 * Using !important because katana.css applies these via plain selectors —
 * we need to win the cascade regardless of import order. */
body.has-env-banner {
    padding-top: calc(var(--header-height) + .5rem + var(--env-banner-height)) !important;
}
body.has-env-banner > header {
    top: calc(.5rem + var(--env-banner-height)) !important;
}
