@import '_content/KTS.Foundation/KTS.Foundation.m23spulnsf.bundle.scp.css';

/* /Components/GlobalTenantFilter.razor.rz.scp.css */
/*
  Global tenant (customer/organization) filter — issue #859.

  Docked into Foundation's `AppBarActionsStart` slot (0.31+) by
  `BackOffice/Layout/MainLayout.razor`. Foundation's header owns flex/gap and
  vertical alignment, so this stylesheet only needs the component-internal
  visual pieces: the outer inline-flex wrapper, the icon-only trigger button
  (idle state), and the persistent name/id chip (active state).
*/
.bo-tenant-filter[b-v67hmxw3wa] {
    display: inline-flex;
    align-items: center;
}

/* Icon-only trigger shown when no customer is selected. */
.bo-tenant-trigger[b-v67hmxw3wa] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    border: none;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.bo-tenant-trigger:hover[b-v67hmxw3wa] {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.bo-tenant-trigger svg[b-v67hmxw3wa] {
    width: 1.1rem;
    height: 1.1rem;
}

/* Persistent active-filter chip: name + short id + clear. */
.bo-tenant-chip[b-v67hmxw3wa] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    max-width: 22rem;
    height: 2.25rem;
    padding: 0 0.25rem 0 0.6rem;
    border-radius: 0.5rem;
    background: var(--kts-sidebar-active, #74df4f);
    color: #10251a;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.bo-tenant-chip-dot[b-v67hmxw3wa] {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 9999px;
    background: #10251a;
    flex-shrink: 0;
    opacity: 0.7;
}

.bo-tenant-chip-main[b-v67hmxw3wa] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    min-width: 0;
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    padding: 0 0.15rem;
    font: inherit;
}

.bo-tenant-chip-name[b-v67hmxw3wa] {
    font-size: 0.8125rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 13rem;
}

.bo-tenant-chip-id[b-v67hmxw3wa] {
    font-size: 0.6875rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    opacity: 0.7;
    white-space: nowrap;
    flex-shrink: 0;
}

.bo-tenant-chip-clear[b-v67hmxw3wa] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.375rem;
    border: none;
    background: transparent;
    color: #10251a;
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color 0.15s ease;
}

.bo-tenant-chip-clear:hover[b-v67hmxw3wa] {
    background: rgba(0, 0, 0, 0.12);
}

.bo-tenant-chip-clear svg[b-v67hmxw3wa] {
    width: 0.85rem;
    height: 0.85rem;
}

/* Narrow viewports: reclaim room by dropping the id and trimming the name so
   the chip stays a comfortable width inside the slot. Below the `sm`
   breakpoint the UserWidget also collapses to an avatar-only button (its
   name/email column is `hidden sm:flex`). */
@media (max-width: 640px) {
    .bo-tenant-chip-id[b-v67hmxw3wa] {
        display: none;
    }

    .bo-tenant-chip-name[b-v67hmxw3wa] {
        max-width: 7rem;
    }
}
/* /Components/LanguageSelector.razor.rz.scp.css */
/*
  #942: language picker styled to sit in the Foundation dark app bar, mirroring
  the tenant-filter trigger's translucent-white look. The globe icon overlays
  the left of a compact native <select> (the select carries the interaction +
  the accessible name; the icon is decorative).
*/
.bo-lang[b-jyrk3t0ww2] {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 2.25rem;
}

.bo-lang-icon[b-jyrk3t0ww2] {
    position: absolute;
    left: 0.5rem;
    width: 1.05rem;
    height: 1.05rem;
    color: rgba(255, 255, 255, 0.85);
    pointer-events: none; /* clicks fall through to the select */
}

.bo-lang-select[b-jyrk3t0ww2] {
    height: 2.25rem;
    padding: 0 1.6rem 0 1.9rem; /* room for the globe (left) + caret (right) */
    border: none;
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.8125rem;
    line-height: 1;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background-color 0.15s ease, color 0.15s ease;
    /* caret */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='0.7'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
}

.bo-lang-select:hover[b-jyrk3t0ww2] {
    background-color: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.bo-lang-select:focus-visible[b-jyrk3t0ww2] {
    outline: 2px solid rgba(255, 255, 255, 0.6);
    outline-offset: 1px;
}

/* The dropdown list renders in the OS/browser popup layer — force readable
   dark-on-light so options aren't white-on-white. */
.bo-lang-select option[b-jyrk3t0ww2] {
    color: #10251a;
    background: #fff;
}

.sr-only[b-jyrk3t0ww2] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* /Components/OperatorContextBar.razor.rz.scp.css */
.bo-operator-banner[b-ghgm5rczd2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.bo-operator-banner--pinned[b-ghgm5rczd2] {
    background: #fff7ed; /* amber-50 */
    color: #7c2d12;      /* amber-900 */
}

.bo-operator-banner--empty[b-ghgm5rczd2] {
    background: #f8fafc; /* slate-50 */
    color: #475569;      /* slate-600 */
}

.bo-operator-text[b-ghgm5rczd2] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.bo-operator-since[b-ghgm5rczd2] {
    color: #92400e; /* amber-700 */
    opacity: 0.85;
}

.bo-operator-dot[b-ghgm5rczd2] {
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 9999px;
    background: #f59e0b; /* amber-500 */
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
    flex-shrink: 0;
}

.bo-operator-actions[b-ghgm5rczd2] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: auto;
}
/* /Pages/Orders.razor.rz.scp.css */
/*
  #944: KtsTabs renders the tab strip (role="tablist") and the active panel in
  a single root, so the Orders detail's `flex-1 overflow-y-auto` scroll container
  scrolls the strip away with the content — you lose the tabs when scrolling a
  long panel (e.g. Timeline). Pin the strip to the top of the scroll container
  so it stays visible while only the panel content scrolls beneath it. `::deep`
  reaches the package component's internal tablist class from this page's scope.
*/
.bo-order-tab-scroll[b-wzre8tuw46]  .kts-tabs-list {
    position: sticky;
    top: 0;
    z-index: 10;
    /* Theme-driven surface so the pinned strip matches light/dark (the tab
       content sits on the card surface); white fallback if the token is unset. */
    background: var(--kts-card-bg, #ffffff);
}
