body{background:var(--brand-background)!important;color:var(--brand-text)!important;
 font-family:var(--brand-body-font)!important;font-size:var(--brand-base-size)!important}
h1,h2,h3,h4{font-family:var(--brand-heading-font)!important}
a{color:var(--brand-link)}
/*
 * System-wide button contract — Batch 18.61
 *
 * The tenant theme is the single source of truth for ordinary action buttons.
 * Component/page styles may control layout, spacing, borders and geometry,
 * but must not hard-code an ordinary button background or text colour.
 *
 * Semantic controls such as close/text/status/danger controls are excluded.
 */
:where(
    button:not(.close):not(.text-button):not(.sup-fail-button):not([class*="status"]):not([class*="result"]),
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    .primary-button,
    .search-submit,
    .search-button,
    .select-button,
    .expander-button,
    .map-button,
    .button-link,
    .launch-button,
    .support-button
){
    border-radius:var(--brand-radius)!important;
    background:var(--brand-button-background)!important;
    color:var(--brand-button-text)!important;
    font-family:var(--brand-button-font)!important;
    font-size:var(--brand-button-size)!important;
}

:where(
    button:not(.close):not(.text-button):not(.sup-fail-button):not([class*="status"]):not([class*="result"]),
    .primary-button,
    .search-submit,
    .search-button,
    .select-button,
    .expander-button,
    .map-button,
    .button-link,
    .launch-button,
    .support-button
) *{
    color:inherit!important;
    font-family:inherit!important;
}

/* Disabled ordinary buttons remain themed but visually disabled. */
:where(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"]
):disabled{
    opacity:.5;
    cursor:not-allowed;
}

.panel,.card{background:var(--brand-surface);border-color:var(--brand-border);
 border-radius:var(--brand-radius)}
.kegani-tenant-shell{position:sticky;top:0;z-index:9999;display:flex;
 align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;
 background:var(--brand-secondary);color:#fff;box-shadow:0 2px 8px #0003}
.kegani-tenant-brand{display:flex;align-items:center;gap:10px;font-weight:700}
.kegani-tenant-logo{width:42px;height:42px;object-fit:contain;background:#fff;
 border-radius:7px;padding:3px}.kegani-tenant-shell select{min-width:220px;padding:8px}
.kegani-tenant-context{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){.kegani-tenant-shell{align-items:stretch;flex-direction:column}
 .kegani-tenant-shell select{width:100%}}


/* Reserve ROS tenant-context shell space before JavaScript populates it. */
#tenantShellMount:empty {
    min-height: 64px;
}


/* Batch 18.62 — company context moved into shared profile menu */
.kegani-tenant-shell,
.kegani-tenant-brand,
.kegani-tenant-context{
    display:none!important;
}
#tenantShellMount,
#tenantShellMount:empty{
    display:none!important;
    min-height:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
}
