/* ==========================================================================
   SANKARI — the QMS dashboard's own names, all consuming the design tokens.

   This file defines no colour of its own any more. Every value below is a
   var() into `sankari_tokens.bundle.css`, which web_include_css loads on
   every website page, so this dashboard, the portal, the login page and the
   desk cannot drift apart by one tone again.

   What was here before, and why it is gone:

     --apple-blue     var(--sankari-taupe-deep)  a brown, in a variable named "blue" — the brand
                               layer was pasted over an Apple-style template
                               and the names were never changed.
     --apple-bg       var(--sankari-page)  a COOL grey ground under a warm brown brand,
                               which is what made this page read as grey
                               rather than warm.
     --apple-muted    var(--sankari-charcoal-soft)  4.33:1 on its own ground. Failed AA.
     --apple-shadow   0 18px 60px  a marketing shadow; the brand has two, and
                               neither of them is 60px.

   The names were renamed --apple-* to --qms-* mechanically across the whole
   file. Two further generations of names exist below (--sankari-50..950 and
   --company-*); both are now thin aliases of these same tokens, marked as
   shims to retire. New rules use the brand names directly.
   ========================================================================== */

:root {
        /* Text. The accent is the on-tint brown because it is legal on every
           ground this page uses — white cards, the page tone and the tint
           alike — and 30 of its 35 uses are text whose ground is not knowable
           from the rule itself. */
        --qms-blue: var(--sankari-taupe-deep);
        --qms-blue-dark: var(--sankari-charcoal);
        --qms-text: var(--sankari-ink);
        --qms-muted: var(--sankari-charcoal-soft);

        /* Surfaces. Solid, not translucent: the glass came off with the
           backdrop-filters. */
        --qms-border: var(--sankari-line);
        --qms-surface: var(--sankari-surface);
        --qms-surface-strong: var(--sankari-surface);
        --qms-bg: var(--sankari-page);

        /* Two shadows, the brand's. */
        --qms-shadow: var(--sankari-shadow-raised);
        --qms-shadow-soft: var(--sankari-shadow);

        /* Three radius steps instead of five. */
        --qms-radius-xl: var(--sankari-radius-lg);
        --qms-radius-lg: var(--sankari-radius-lg);
        --qms-radius-md: var(--sankari-radius);
    }

    html {
        scroll-behavior: smooth;
    }

    /* The page ground was declared twice, at the same specificity and both at
       the top level, so this one never painted anything — the brand layer's
       `body` rule further down always won. Removed rather than tokenised: a
       dead rule that looks alive is how the three token generations grew in
       the first place. The live one is under "SANKARI BRAND LAYER". */

    .qms-app,
    .qms-app * {
        box-sizing: border-box;
        font-family: var(--sankari-font-ui) !important;
    }

    .qms-app {
        direction: rtl;
        max-width: 1480px;
        margin: 0 auto;
        padding: 22px 18px 56px;
        color: var(--qms-text);
    }

    .qms-topbar {
        position: relative;
        z-index: 40;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 18px;
        padding: 10px 12px;
        border: 1px solid var(--sankari-surface);
        border-radius: var(--sankari-radius-lg);
        background: var(--sankari-surface);
        box-shadow: 0 8px 30px rgba(var(--sankari-ink-rgb), .05);
    }

    .qms-back {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 38px;
        padding: 8px 13px;
        border: 0;
        border-radius: var(--sankari-radius);
        background: rgba(var(--sankari-ink-rgb), .04);
        color: var(--qms-text) !important;
        font-size: 12px;
        font-weight: 700;
        text-decoration: none !important;
        transition: .2s ease;
    }

    .qms-back:hover {
        background: rgba(var(--sankari-taupe-deep-rgb), .09);
        color: var(--qms-blue) !important;
        transform: translateX(2px);
    }

    .qms-session {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--qms-muted);
        font-size: 11px;
        font-weight: 600;
    }

    .qms-session::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--sankari-success);
        box-shadow: 0 0 0 4px var(--sankari-success-tint);
    }

    .qms-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 290px;
        min-height: 760px;
        overflow: clip;
        border: 1px solid var(--sankari-surface);
        border-radius: var(--qms-radius-xl);
        background: rgba(255,255,255,.55);
        box-shadow: var(--qms-shadow);
    }

    .qms-sidebar {
        position: relative;
        padding: 26px 18px;
        border-inline-end: 1px solid rgba(var(--sankari-ink-rgb), .06);
        background:
            linear-gradient(180deg, var(--sankari-surface), var(--sankari-page));
        color: var(--qms-text);
    }

    .qms-brand {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 4px 6px 22px;
        margin-bottom: 18px;
        border-bottom: 1px solid rgba(var(--sankari-ink-rgb), .06);
    }

    .qms-brand-icon {
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        border-radius: var(--sankari-radius);
        color: var(--sankari-surface);
        background: linear-gradient(145deg, var(--sankari-ramp-4), var(--sankari-taupe-deep));
        box-shadow: 0 10px 24px rgba(var(--sankari-taupe-deep-rgb), .24);
    }

    .qms-brand-title {
        margin: 0 0 3px;
        color: var(--qms-text);
        font-size: 15px;
        font-weight: 800;
    }

    .qms-brand-subtitle {
        margin: 0;
        color: var(--qms-muted);
        font-size: 9px;
    }

    .qms-sidebar-label {
        margin: 0 8px 8px;
        color: var(--sankari-charcoal-soft);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .2px;
    }

    .qms-side-nav {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .qms-side-button {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 44px;
        padding: 9px 11px;
        border: 0;
        border-radius: var(--sankari-radius);
        color: var(--sankari-charcoal-soft);
        background: transparent;
        text-align: start;
        cursor: pointer;
        font-size: 11px;
        font-weight: 700;
        transition: .18s ease;
    }

    .qms-side-button:hover {
        background: rgba(var(--sankari-ink-rgb), .04);
    }

    .qms-side-button.active {
        color: var(--qms-blue);
        background: rgba(var(--sankari-taupe-deep-rgb), .10);
    }

    .qms-side-count {
        margin-inline-start: auto;
        min-width: 24px;
        padding: 2px 7px;
        border-radius: var(--sankari-radius-lg);
        color: var(--sankari-charcoal-soft);
        background: rgba(var(--sankari-ink-rgb), .05);
        font-size: 9px;
        text-align: center;
    }

    .qms-side-button.active .qms-side-count {
        color: var(--qms-blue);
        background: rgba(var(--sankari-taupe-deep-rgb), .10);
    }

    .qms-company-list {
        max-height: 410px;
        overflow-y: auto;
        padding-inline-end: 3px;
    }

    .qms-company-list::-webkit-scrollbar {
        width: 5px;
    }

    .qms-company-list::-webkit-scrollbar-thumb {
        border-radius: var(--sankari-radius);
        background: rgba(var(--sankari-ink-rgb), .14);
    }

    .qms-sidebar-help {
        position: absolute;
        inset-inline-start: 18px;
        inset-inline-end: 18px;
        bottom: 20px;
        padding: 13px;
        border: 1px solid rgba(var(--sankari-ink-rgb), .06);
        border-radius: var(--sankari-radius);
        color: var(--qms-muted);
        background: var(--sankari-surface);
        font-size: 9px;
        line-height: 1.8;
        box-shadow: var(--qms-shadow-soft);
    }

    .qms-main {
        min-width: 0;
        padding: 30px;
        background: transparent;
    }

    .qms-main-header {
        --header-accent: var(--sankari-taupe-deep);
        --header-accent-dark: var(--sankari-ramp-4);
        position: relative;
        isolation: isolate;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        min-height: 215px;
        margin-bottom: 22px;
        padding: 30px 32px;
        border: 1px solid var(--sankari-surface);
        border-radius: var(--sankari-radius-lg);
        color: var(--sankari-surface);
        background:
            radial-gradient(circle at 15% 15%, rgba(255,255,255,.30), transparent 24%),
            radial-gradient(circle at 85% 15%, rgba(255,255,255,.14), transparent 20%),
            linear-gradient(135deg, var(--header-accent) 0%, var(--header-accent-dark) 100%);
        box-shadow: 0 24px 70px color-mix(in srgb, var(--header-accent) 20%, transparent);
        transition: background .35s ease, box-shadow .35s ease, transform .25s ease;
    }

    .qms-main-header::before,
    .qms-main-header::after {
        content: "";
        position: absolute;
        z-index: -1;
        pointer-events: none;
        border-radius: 50%;
        background: rgba(255,255,255,.08);
    }

    .qms-main-header::before {
        width: 240px;
        height: 240px;
        inset-inline-end: -90px;
        bottom: -140px;
    }

    .qms-main-header::after {
        width: 120px;
        height: 120px;
        inset-inline-end: 150px;
        top: -70px;
    }

    .qms-main-header.is-changing {
        transform: scale(.992);
    }

    .qms-header-copy {
        position: relative;
        z-index: 1;
        min-width: 0;
    }

    .qms-header-breadcrumb {
        display: flex;
        align-items: center;
        gap: 7px;
        margin-bottom: 14px;
        color: var(--sankari-surface);
        font-size: 10px;
        font-weight: 600;
    }

    .qms-header-breadcrumb strong {
        color: var(--sankari-surface);
        font-weight: 800;
    }

    .qms-page-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 8px;
        color: var(--sankari-surface);
        font-size: 10px;
        font-weight: 700;
    }

    .qms-page-title {
        margin: 0 0 8px;
        color: var(--sankari-surface);
        font-size: clamp(28px, 3vw, 40px);
        font-weight: 800;
        letter-spacing: -.5px;
    }

    .qms-page-subtitle {
        max-width: 680px;
        margin: 0;
        color: var(--sankari-surface);
        font-size: 12px;
        line-height: 1.9;
    }

    .qms-header-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin-top: 18px;
    }

    .qms-header-meta-item {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 30px;
        padding: 5px 10px;
        border: 1px solid rgba(255,255,255,.22);
        border-radius: var(--sankari-radius-lg);
        color: var(--sankari-surface);
        background: rgba(255,255,255,.14);
        font-size: 9px;
        font-weight: 700;
    }

    .qms-header-side {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        gap: 14px;
    }

    .qms-header-stat {
        min-width: 105px;
        padding: 13px 14px;
        border: 1px solid rgba(255,255,255,.22);
        border-radius: var(--sankari-radius-lg);
        background: rgba(255,255,255,.15);
        text-align: center;
    }

    .qms-header-stat-number {
        display: block;
        color: var(--sankari-surface);
        font-size: 27px;
        line-height: 1.1;
        font-weight: 800;
    }

    .qms-header-stat-label {
        display: block;
        margin-top: 4px;
        color: var(--sankari-surface);
        font-size: 9px;
        font-weight: 700;
    }

    .qms-header-icon {
        display: grid;
        place-items: center;
        width: 80px;
        height: 80px;
        flex: 0 0 80px;
        border: 1px solid rgba(255,255,255,.24);
        border-radius: var(--sankari-radius-lg);
        color: var(--sankari-surface);
        background: rgba(255,255,255,.16);
        transition: transform .3s ease;
    }

    .qms-main-header:hover .qms-header-icon {
        transform: rotate(-4deg) scale(1.03);
    }

    .qms-toolbar {
        position: sticky;
        top: 12px;
        z-index: 90;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 12px;
        width: 100%;
        margin-bottom: 20px;
        padding: 9px 10px;
        border: 1px solid rgba(var(--sankari-ink-rgb), .06);
        border-radius: var(--sankari-radius-lg);
        background: var(--sankari-page);
        box-shadow:
            0 9px 28px rgba(var(--sankari-ink-rgb), .10),
            0 1px 0 var(--sankari-surface) inset;
    }

    .qms-search {
        position: relative;
        flex: 0 1 560px;
        width: min(560px, 52vw);
        max-width: 560px;
        min-width: 300px;
    }

    .qms-search svg {
        position: absolute;
        top: 50%;
        inset-inline-start: 15px;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .qms-search input,
    .qms-mobile-company-select {
        width: 100%;
        height: 46px;
        padding-block: 10px;
        padding-inline: 44px 14px;
        border: 1px solid rgba(var(--sankari-ink-rgb), .06);
        border-radius: var(--sankari-radius);
        outline: none;
        color: var(--qms-text);
        background: var(--sankari-surface);
        font-size: 11px;
        box-shadow: var(--qms-shadow-soft);
        transition: .2s ease;
    }

    .qms-search input:focus {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .35);
        box-shadow: 0 0 0 4px rgba(var(--sankari-taupe-deep-rgb), .10);
    }

    .qms-company-chip {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 46px;
        padding: 9px 13px;
        border: 1px solid rgba(var(--sankari-ink-rgb), .06);
        border-radius: var(--sankari-radius);
        color: var(--sankari-charcoal-soft);
        background: var(--sankari-surface);
        font-size: 10px;
        font-weight: 700;
        white-space: nowrap;
        box-shadow: var(--qms-shadow-soft);
    }

    .qms-view {
        display: none;
    }

    .qms-view.active {
        display: block;
        animation: qmsFade .3s ease;
    }

    @keyframes qmsFade {
        from { opacity: 0; transform: translateY(6px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .qms-section-card {
        padding: 22px;
        border: 1px solid var(--sankari-surface);
        border-radius: var(--sankari-radius-lg);
        background: var(--sankari-surface);
        box-shadow: var(--qms-shadow-soft);
    }

    .qms-section-heading {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        margin-bottom: 18px;
    }

    .qms-section-title {
        margin: 0 0 5px;
        color: var(--qms-text);
        font-size: 17px;
        font-weight: 800;
    }

    .qms-section-description {
        margin: 0;
        color: var(--qms-muted);
        font-size: 10px;
    }

    .qms-section-count {
        min-width: 92px;
        padding: 8px 11px;
        border: 0;
        border-radius: var(--sankari-radius-lg);
        color: var(--qms-blue);
        background: rgba(var(--sankari-taupe-deep-rgb), .09);
        font-size: 10px;
        font-weight: 800;
        text-align: center;
    }

    .qms-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        gap: 14px;
    }

    .qms-card {
        position: relative;
        display: flex;
        flex-direction: column;
        min-height: 170px;
        padding: 18px;
        overflow: hidden;
        border: 1px solid rgba(var(--sankari-ink-rgb), .05);
        border-radius: var(--sankari-radius-lg);
        color: inherit !important;
        background: var(--sankari-surface);
        text-decoration: none !important;
        box-shadow: 0 6px 24px rgba(var(--sankari-ink-rgb), .04);
        transition: .22s ease;
    }

    .qms-card::before {
        content: "";
        position: absolute;
        top: 0;
        inset-inline-start: 0;
        width: 100%;
        height: 3px;
        background: linear-gradient(90deg, transparent, var(--qms-blue), transparent);
        opacity: 0;
        transition: .22s ease;
    }

    .qms-card:hover {
        transform: translateY(-5px) scale(1.01);
        border-color: rgba(var(--sankari-taupe-deep-rgb), .16);
        box-shadow: 0 18px 40px rgba(var(--sankari-ink-rgb), .08);
    }

    .qms-card:hover::before {
        opacity: 1;
    }

    .qms-card-icon {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        margin-bottom: 17px;
        border-radius: var(--sankari-radius);
        color: var(--qms-blue);
        background: rgba(var(--sankari-taupe-deep-rgb), .09);
        transition: .22s ease;
    }

    .qms-card:hover .qms-card-icon {
        color: var(--sankari-surface);
        background: var(--qms-blue);
        transform: rotate(-4deg);
    }

    .qms-card-title {
        margin: 0 0 7px;
        color: var(--qms-text);
        font-size: 14px;
        line-height: 1.55;
        font-weight: 800;
    }

    .qms-card-text {
        margin: 0;
        color: var(--qms-muted);
        font-size: 10px;
        line-height: 1.8;
    }

    .qms-card {
    position: relative;
    }

    .qms-card-doc-count {
        position: absolute;
        top: 16px;
        inset-inline-end: 16px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin: 0;
        padding: 5px 10px;
        border-radius: var(--sankari-radius-lg);
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .09);
        font-size: 9px;
        font-weight: 800;
        z-index: 2;
    }

    .qms-card-doc-count svg {
        flex: 0 0 auto;
    }

    .qms-card-doc-count svg {
        flex: 0 0 auto;
    }

    .qms-card-action {
        display: flex;
        align-items: center;
        gap: 5px;
        margin-top: auto;
        padding-top: 14px;
        color: var(--qms-blue);
        font-size: 10px;
        font-weight: 800;
    }

    .qms-general-hero {
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-bottom: 16px;
        padding: 26px;
        border: 1px solid var(--sankari-surface);
        border-radius: var(--sankari-radius-lg);
        color: var(--sankari-surface);
        background:
            radial-gradient(circle at 20% 20%, rgba(255,255,255,.2), transparent 24%),
            linear-gradient(135deg, var(--sankari-ramp-4) 0%, var(--sankari-taupe-deep) 65%, var(--sankari-charcoal) 100%);
        box-shadow: 0 18px 50px rgba(var(--sankari-taupe-deep-rgb), .18);
    }

    .qms-general-title {
        position: relative;
        z-index: 1;
        margin: 0 0 6px;
        color: var(--sankari-ink);
        font-size: 22px;
        font-weight: 800;
    }

    .qms-general-text {
        position: relative;
        z-index: 1;
        max-width: 650px;
        margin: 0;
        color: var(--sankari-surface);
        font-size: 10px;
        line-height: 1.9;
    }

    .qms-general-link {
        position: relative;
        z-index: 1;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 42px;
        padding: 9px 14px;
        border: 1px solid rgba(255,255,255,.22);
        border-radius: var(--sankari-radius);
        color: var(--sankari-surface) !important;
        background: rgba(255,255,255,.15);
        font-size: 10px;
        font-weight: 800;
        text-decoration: none !important;
        white-space: nowrap;
        transition: .2s ease;
    }

    .qms-general-link:hover {
        background: rgba(255,255,255,.24);
        transform: translateY(-2px);
    }

    .qms-announcements {
        margin-bottom: 18px;
    }

    .qms-announcement-list {
        display: grid;
        gap: 12px;
    }

    .qms-announcement-card {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr) auto;
        align-items: center;
        gap: 14px;
        padding: 15px 16px;
        border: 1px solid rgba(var(--sankari-ink-rgb), .05);
        border-radius: var(--sankari-radius-lg);
        background: var(--sankari-surface);
        color: inherit !important;
        text-decoration: none !important;
        transition: .2s ease;
    }

    .qms-announcement-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 16px 36px rgba(var(--sankari-ink-rgb), .07);
    }

    .qms-announcement-icon {
        display: grid;
        place-items: center;
        width: 54px;
        height: 54px;
        border-radius: var(--sankari-radius-lg);
        color: var(--sankari-taupe-deep);
        background: rgba(var(--sankari-taupe-deep-rgb), .10);
    }

    .qms-announcement-title {
        margin: 0 0 5px;
        color: var(--qms-text);
        font-size: 13px;
        font-weight: 800;
        line-height: 1.6;
    }

    .qms-announcement-summary {
        margin: 0;
        color: var(--qms-muted);
        font-size: 10px;
        line-height: 1.8;
    }

    .qms-announcement-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 7px;
        margin-top: 8px;
    }

    .qms-badge {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 4px 8px;
        border-radius: var(--sankari-radius-lg);
        font-size: 9px;
        font-weight: 800;
    }

    .qms-badge-primary {
        color: var(--qms-blue);
        background: rgba(var(--sankari-taupe-deep-rgb), .09);
    }

    .qms-badge-warning {
        color: var(--sankari-warning);
        background: rgba(var(--sankari-taupe-deep-rgb), .11);
    }

    .qms-badge-neutral {
        color: var(--sankari-charcoal-soft);
        background: rgba(var(--sankari-ink-rgb), .05);
    }

    .qms-announcement-arrow {
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        border-radius: var(--sankari-radius);
        color: var(--qms-blue);
        background: rgba(var(--sankari-taupe-deep-rgb), .09);
    }

    .qms-company-tabs {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 4px;
        margin-bottom: 15px;
        padding: 5px;
        border: 1px solid rgba(var(--sankari-ink-rgb), .05);
        border-radius: var(--sankari-radius);
        background: var(--sankari-tint);
    }

    .qms-company-tab {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 36px;
        padding: 8px 13px;
        border: 0;
        border-radius: var(--sankari-radius);
        color: var(--qms-muted);
        background: transparent;
        cursor: pointer;
        font-size: 10px;
        font-weight: 800;
        transition: .18s ease;
    }

    .qms-company-tab:hover {
        color: var(--qms-text);
    }

    .qms-company-tab.active {
        color: var(--qms-text);
        background: var(--sankari-surface);
        box-shadow: 0 2px 8px rgba(var(--sankari-ink-rgb), .08);
    }

    .qms-company-panel {
        display: none;
    }

    .qms-company-panel.active {
        display: block;
        animation: qmsFade .25s ease;
    }

    .qms-form-card .qms-card-icon {
        color: var(--sankari-charcoal-soft);
        background: rgba(var(--sankari-taupe-deep-rgb), .10);
    }

    .qms-form-card:hover .qms-card-icon {
        color: var(--sankari-surface);
        background: var(--sankari-charcoal-soft);
    }

    .qms-empty-search,
    .qms-empty-announcements,
    .qms-alert {
        grid-column: 1 / -1;
        padding: 28px;
        border: 1px dashed rgba(var(--sankari-ink-rgb), .10);
        border-radius: var(--sankari-radius-lg);
        color: var(--qms-muted);
        background: var(--sankari-surface);
        text-align: center;
        font-size: 11px;
        font-weight: 700;
    }

    .qms-empty-search {
        display: none;
    }

    .qms-alert-warning {
        color: var(--sankari-warning);
        background: var(--sankari-warning-tint);
    }

    .qms-alert-danger {
        color: var(--sankari-danger);
        background: var(--sankari-danger-tint);
    }

    .qms-mobile-company-select {
        display: none;
    }

    @media (max-width: 900px) {
        .qms-shell {
            display: block;
        }

        .qms-sidebar {
            padding: 18px;
            border-inline-end: 0;
            border-bottom: 1px solid rgba(var(--sankari-ink-rgb), .06);
        }

        .qms-brand {
            padding-bottom: 16px;
            margin-bottom: 13px;
        }

        .qms-company-list,
        .qms-sidebar-label,
        .qms-sidebar-help {
            display: none;
        }

        .qms-side-nav {
            display: grid;
            grid-template-columns: 1fr 1fr;
        }

        .qms-mobile-company-select {
            display: block;
            margin-top: 12px;
            padding: 8px 12px;
        }

        .qms-main {
            padding: 22px 17px;
        }
    }

    @media (max-width: 620px) {
        .qms-app {
            padding: 12px 8px 30px;
        }

        .qms-main-header,
        .qms-toolbar,
        .qms-section-heading,
        .qms-general-hero {
            align-items: stretch;
            flex-direction: column;
        }

        .qms-main-header {
            min-height: auto;
            padding: 24px 21px;
            border-radius: var(--sankari-radius-lg);
        }

        .qms-header-side {
            justify-content: space-between;
        }

        .qms-header-icon {
            width: 58px;
            height: 58px;
            flex-basis: 58px;
            border-radius: var(--sankari-radius-lg);
        }

        .qms-header-stat {
            flex: 1;
        }

        .qms-company-chip {
            width: 100%;
            white-space: normal;
        }

        .qms-grid {
            grid-template-columns: 1fr;
        }

        .qms-side-nav {
            grid-template-columns: 1fr;
        }

        .qms-announcement-card {
            grid-template-columns: 46px minmax(0, 1fr);
        }

        .qms-announcement-icon {
            width: 46px;
            height: 46px;
        }

        .qms-announcement-arrow {
            display: none;
        }
    }


    /* ======================================================================
       SANKARI HOLDING BRAND LAYER
       Keeps the original page structure and Frappe/Jinja behavior while
       replacing the visual language with the supplied corporate identity.
       ====================================================================== */

    /* SHIM — a numbered ramp from an earlier pass, kept only because ~43
       rules still name these. Retire it by replacing each use with the brand
       token beside it; add nothing new here.

       The entries 500-950 are all used as text colour, so each maps to a tone
       that is legal as text on every ground this page uses. That is a change
       in kind, not just in hue: --sankari-500 was var(--sankari-charcoal-soft), which is 3.67:1 on
       this page's own ground and failed AA outright.

       The entries 50-400 are decorative (washes, gradient partners, one
       box-shadow) and map onto the brand's decorative ramp.

       This block also re-declared the whole --qms-* set a second time, with
       different values. Those duplicates are deleted — the block at the top
       of the file is now the only definition. That is the "three generations
       stacked in one file" problem, removed rather than re-pointed. */
    :root {
        --sankari-950: var(--sankari-ink);
        --sankari-900: var(--sankari-charcoal);
        --sankari-800: var(--sankari-charcoal-soft);
        --sankari-700: var(--sankari-taupe-deep);
        --sankari-600: var(--sankari-taupe-deep);
        --sankari-500: var(--sankari-charcoal-soft);
        --sankari-400: var(--sankari-ramp-4);
        --sankari-300: var(--sankari-ramp-3);
        --sankari-200: var(--sankari-ramp-2);
        --sankari-100: var(--sankari-tint);
        --sankari-50: var(--sankari-page);
        --sankari-white: var(--sankari-surface);
    }

    html,
    body {
        min-height: 100%;
    }

    body {
        background:
            radial-gradient(circle at 100% 0%, rgba(var(--sankari-taupe-deep-rgb), .18), transparent 31%),
            radial-gradient(circle at 0% 100%, rgba(var(--sankari-taupe-deep-rgb), .10), transparent 34%),
            /* A real fade, light at the top and warmer at the foot — the same
               treatment the login card and the portal sit on. It had been
               #FAF8F5 -> #F7F3EE, two tones a shade apart; mapping both onto
               the page token collapsed it to a gradient between one colour
               and itself, which is just a flat fill wearing a gradient. */
            linear-gradient(180deg, var(--sankari-page) 0%, var(--sankari-tint) 100%);
    }

    .qms-app {
        max-width: 1540px;
        padding-top: 18px;
    }

    .qms-topbar {
        display: grid;
        grid-template-columns: minmax(180px, 1fr) auto minmax(260px, 1fr);
        align-items: center;
        gap: 18px;
        min-height: 70px;
        padding: 9px 12px;
        border: 1px solid rgba(var(--sankari-taupe-deep-rgb), .12);
        background: var(--sankari-surface);
        box-shadow: 0 10px 36px rgba(var(--sankari-taupe-deep-rgb), .08);
    }

    .qms-back {
        justify-self: start;
        color: var(--sankari-800) !important;
        background: var(--sankari-100);
        border: 1px solid rgba(var(--sankari-taupe-deep-rgb), .10);
    }

    .qms-back:hover {
        color: var(--sankari-surface) !important;
        background: var(--sankari-700);
        transform: translateX(2px);
    }

    .qms-topbar-center {
        justify-self: center;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: var(--sankari-800);
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
    }

    .qms-topbar-mark {
        display: inline-grid;
        place-items: center;
        color: var(--sankari-600);
    }

    .qms-user-card {
        justify-self: end;
        min-width: 245px;
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 9px;
        align-items: center;
        gap: 10px;
        min-height: 52px;
        padding-block: 5px;
        padding-inline: 10px 14px;
        border: 1px solid rgba(var(--sankari-taupe-deep-rgb), .11);
        border-radius: var(--sankari-radius);
        background: linear-gradient(135deg, var(--sankari-page), var(--sankari-tint));
    }

    .qms-user-avatar {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        overflow: hidden;
        border: 2px solid var(--sankari-surface);
        border-radius: 50%;
        color: var(--sankari-700);
        background: var(--sankari-200);
        box-shadow: 0 5px 14px rgba(var(--sankari-taupe-deep-rgb), .13);
    }

    .qms-user-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .qms-user-copy {
        min-width: 0;
        display: flex;
        flex-direction: column;
        line-height: 1.45;
    }

    .qms-user-copy strong {
        overflow: hidden;
        color: var(--sankari-900);
        font-size: 11px;
        font-weight: 800;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .qms-user-copy small {
        overflow: hidden;
        color: var(--qms-muted);
        font-size: 8.5px;
        font-weight: 600;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .qms-user-status {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--sankari-success);
        box-shadow: 0 0 0 4px var(--sankari-success-tint);
    }

    .qms-shell {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        background: var(--sankari-surface);
        box-shadow: var(--qms-shadow);
    }

    .qms-sidebar {
        border-inline-end-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        background:
            linear-gradient(180deg, var(--sankari-surface), var(--sankari-page));
    }

    .qms-brand {
        display: block;
        padding: 4px 8px 22px;
        text-align: center;
        border-bottom-color: rgba(var(--sankari-taupe-deep-rgb), .12);
    }



    .qms-brand-system {
        padding-top: 12px;
        border-top: 1px solid rgba(var(--sankari-taupe-deep-rgb), .09);
    }

    .qms-brand-title {
        color: var(--sankari-900);
        font-size: 14px;
    }

    .qms-brand-subtitle {
        color: var(--sankari-600);
        letter-spacing: .3px;
    }

    .qms-sidebar-label {
        color: var(--sankari-charcoal-soft);
    }

    .qms-side-button {
        color: var(--sankari-charcoal-soft);
        border: 1px solid transparent;
    }

    .qms-side-button:hover {
        color: var(--sankari-800);
        border-color: rgba(var(--sankari-taupe-deep-rgb), .08);
        background: var(--sankari-ramp-2);
    }

    .qms-side-button.active {
        color: var(--sankari-surface);
        border-color: rgba(255,255,255,.22);
        background: linear-gradient(135deg, var(--sankari-800), var(--sankari-500));
        box-shadow: 0 10px 24px rgba(var(--sankari-taupe-deep-rgb), .19);
    }

    .qms-side-count {
        color: var(--sankari-700);
        background: rgba(var(--sankari-taupe-deep-rgb), .08);
    }

    .qms-side-button.active .qms-side-count {
        color: var(--sankari-surface);
        background: rgba(255,255,255,.17);
    }

    .qms-company-list::-webkit-scrollbar-thumb {
        background: rgba(var(--sankari-taupe-deep-rgb), .25);
    }

    .qms-sidebar-help {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        color: var(--sankari-700);
        background: var(--sankari-surface);
    }

    .qms-main {
        padding: 28px;
    }

    .qms-main-header {
        --header-accent: var(--sankari-taupe-deep);
        --header-accent-dark: var(--sankari-ramp-4);
        min-height: 330px;
        display: grid;
        place-items: center;
        padding: 36px 150px 34px;
        border: 1px solid rgba(var(--sankari-taupe-deep-rgb), .13);
        color: var(--sankari-900);
        background:
            radial-gradient(circle at 50% -30%, var(--sankari-surface), transparent 58%),
            linear-gradient(135deg, var(--sankari-page) 0%, var(--sankari-page) 48%, var(--sankari-tint) 100%);
        box-shadow: 0 22px 58px rgba(var(--sankari-taupe-deep-rgb), .12);
    }

    .qms-main-header::before,
    .qms-main-header::after {
        display: none;
    }

    .qms-header-v {
        position: absolute;
        z-index: -1;
        width: 270px;
        height: 220px;
        pointer-events: none;
        opacity: .13;
        background:
            linear-gradient(135deg, transparent 0 47%, var(--header-accent) 48% 50%, transparent 51%) 0 0 / 100% 34%,
            linear-gradient(225deg, transparent 0 47%, var(--header-accent) 48% 50%, transparent 51%) 0 0 / 100% 34%;
    }

    .qms-header-v-right {
        inset-inline-start: -65px;
        top: 28px;
        transform: rotate(90deg);
    }

    .qms-header-v-left {
        inset-inline-end: -80px;
        bottom: -35px;
        opacity: .07;
        transform: rotate(-90deg);
    }

    .qms-header-breadcrumb {
        position: absolute;
        top: 19px;
        inset-inline-start: 25px;
        margin: 0;
        color: rgba(var(--sankari-taupe-deep-rgb), .54);
    }

    .qms-header-breadcrumb strong {
        color: var(--sankari-700);
    }

    .qms-header-copy {
        width: min(760px, 100%);
        text-align: center;
    }

    .qms-page-eyebrow {
        justify-content: center;
        margin-bottom: 13px;
        color: var(--sankari-600);
    }

    .qms-header-ornament {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: min(420px, 84%);
        margin: 0 auto 12px;
    }

    .qms-header-ornament span {
        height: 1px;
        flex: 1;
        background: linear-gradient(90deg, transparent, var(--sankari-400));
    }

    .qms-header-ornament span:last-child {
        background: linear-gradient(90deg, var(--sankari-400), transparent);
    }

    .qms-header-ornament i {
        width: 10px;
        height: 10px;
        border: 2px solid var(--sankari-500);
        transform: rotate(45deg);
    }

    .qms-system-title {
        margin: 0;
        color: var(--sankari-900);
        font-size: clamp(32px, 4vw, 49px);
        line-height: 1.35;
        font-weight: 800;
        letter-spacing: -.9px;
    }

    .qms-system-tagline {
        margin: 5px auto 18px;
        color: var(--sankari-600);
        font-size: 11px;
        font-weight: 500;
    }

    .qms-current-view-card {
        width: min(600px, 100%);
        margin: 0 auto;
        padding: 13px 18px;
        border: 1px solid rgba(var(--sankari-taupe-deep-rgb), .11);
        border-radius: var(--sankari-radius-lg);
        background: rgba(255,255,255,.58);
    }

    .qms-current-view-label {
        display: block;
        margin-bottom: 1px;
        color: var(--sankari-500);
        font-size: 8.5px;
        font-weight: 800;
    }

    .qms-page-title {
        margin: 0 0 2px;
        color: var(--sankari-900);
        font-size: 18px;
        letter-spacing: 0;
    }

    .qms-page-subtitle {
        max-width: none;
        color: var(--qms-muted);
        font-size: 9.5px;
        line-height: 1.75;
    }

    .qms-header-meta {
        justify-content: center;
        margin-top: 12px;
    }

    .qms-header-meta-item {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        color: var(--sankari-700);
        background: var(--sankari-surface);
    }

    .qms-header-side {
        position: absolute;
        inset-inline-end: 22px;
        bottom: 22px;
        flex-direction: column;
        gap: 8px;
    }

    .qms-header-stat,
    .qms-header-icon {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .13);
        color: var(--sankari-700);
        background: var(--sankari-surface);
        box-shadow: 0 9px 25px rgba(var(--sankari-taupe-deep-rgb), .08);
    }

    .qms-header-icon {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
        border-radius: var(--sankari-radius-lg);
    }

    .qms-main-header:hover .qms-header-icon {
        transform: translateY(-2px) rotate(-3deg);
    }

    .qms-header-stat {
        min-width: 90px;
        padding: 9px 10px;
    }

    .qms-header-stat-number {
        color: var(--sankari-900);
        font-size: 21px;
    }

    .qms-header-stat-label {
        color: var(--sankari-600);
    }

    .qms-toolbar {
        margin-bottom: 18px;
    }

    .qms-search input,
    .qms-mobile-company-select,
    .qms-company-chip {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        color: var(--sankari-900);
        background: var(--sankari-surface);
    }

    .qms-search input:focus {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .55);
        box-shadow: 0 0 0 4px rgba(var(--sankari-taupe-deep-rgb), .16);
    }

    .qms-company-chip {
        color: var(--sankari-700);
    }

    .qms-section-card {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        background: var(--sankari-surface);
    }

    .qms-section-title {
        color: var(--sankari-900);
    }

    .qms-section-count {
        color: var(--sankari-700);
        background: rgba(var(--sankari-taupe-deep-rgb), .18);
    }

    .qms-card {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .09);
        background: var(--sankari-surface);
    }

    .qms-card::before {
        background: linear-gradient(90deg, transparent, var(--sankari-400), transparent);
    }

    .qms-card:hover {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .30);
        box-shadow: 0 18px 42px rgba(var(--sankari-taupe-deep-rgb), .13);
    }

    .qms-card-icon,
    .qms-form-card .qms-card-icon {
        color: var(--sankari-700);
        background: rgba(var(--sankari-taupe-deep-rgb), .17);
    }

    .qms-card:hover .qms-card-icon,
    .qms-form-card:hover .qms-card-icon {
        color: var(--sankari-surface);
        background: linear-gradient(145deg, var(--sankari-700), var(--sankari-500));
    }

    .qms-card-title {
        color: var(--sankari-900);
    }

    .qms-card-action {
        color: var(--sankari-700);
    }

    .qms-general-hero {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        color: var(--sankari-900);
        background:
            radial-gradient(circle at 18% 20%, var(--sankari-surface), transparent 28%),
            linear-gradient(135deg, var(--sankari-800) 0%, var(--sankari-500) 58%, var(--sankari-300) 100%);
        box-shadow: 0 18px 48px rgba(var(--sankari-taupe-deep-rgb), .17);
    }

    .qms-general-title,
    .qms-general-link {
        color: var(--sankari-ink) !important;
    }

    .qms-general-text {
        color: var(--sankari-surface);
    }

    .qms-general-link {
        border-color: rgba(255,255,255,.25);
        background: rgba(255,255,255,.14);
    }

    .qms-announcement-card {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .10);
        background: var(--sankari-surface);
    }

    .qms-announcement-icon {
        color: var(--sankari-taupe-deep);
        background: rgba(var(--sankari-taupe-deep-rgb), .18);
    }

    .qms-announcement-title {
        color: var(--sankari-900);
    }

    .qms-badge-primary {
        color: var(--sankari-700);
        background: rgba(var(--sankari-taupe-deep-rgb), .18);
    }

    .qms-badge-warning {
        color: var(--sankari-warning);
        background: rgba(var(--sankari-taupe-deep-rgb), .22);
    }

    .qms-announcement-arrow {
        color: var(--sankari-700);
        background: rgba(var(--sankari-taupe-deep-rgb), .18);
    }

    .qms-company-tabs {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .10);
        background: rgba(var(--sankari-taupe-deep-rgb), .08);
    }

    .qms-company-tab.active {
        color: var(--sankari-900);
        background: var(--sankari-surface);
    }

    .qms-empty-search,
    .qms-empty-announcements,
    .qms-alert {
        border-color: rgba(var(--sankari-taupe-deep-rgb), .18);
        background: var(--sankari-surface);
    }

    @media (max-width: 1100px) {
        .qms-topbar {
            grid-template-columns: 1fr auto;
        }

        .qms-topbar-center {
            display: none;
        }

        .qms-main-header {
            padding-inline-start: 90px;
            padding-inline-end: 115px;
        }
    }

    @media (max-width: 900px) {
        .qms-sidebar {
            border-bottom-color: rgba(var(--sankari-taupe-deep-rgb), .12);
        }

        .qms-brand {
            display: flex;
            align-items: center;
            gap: 15px;
            text-align: start;
        }



        .qms-brand-system {
            flex: 1;
            padding-top: 0;
            padding-inline-start: 15px;
            border-top: 0;
            border-inline-start: 1px solid rgba(var(--sankari-taupe-deep-rgb), .10);
        }
    }

    @media (max-width: 620px) {
        .qms-topbar {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            top: auto;
        }

        .qms-back {
            order: 2;
            flex: 1;
            justify-content: center;
        }

        .qms-user-card {
            order: 1;
            width: 100%;
            min-width: 0;
        }

        .qms-main-header {
            min-height: auto;
            display: block;
            padding: 58px 18px 20px;
        }

        .qms-header-breadcrumb {
            top: 16px;
            inset-inline-start: 18px;
            inset-inline-end: 18px;
            justify-content: center;
        }

        .qms-header-side {
            position: static;
            margin-top: 15px;
            flex-direction: row;
            justify-content: center;
        }

        .qms-system-title {
            font-size: 30px;
        }

        .qms-brand {
            display: block;
            text-align: center;
        }



        .qms-brand-system {
            padding: 10px 0 0;
            border-inline-start: 0;
            border-top: 1px solid rgba(var(--sankari-taupe-deep-rgb), .10);
        }
    }




    /* SHIM — the third set of names for the same palette, and the most widely
       used: --company-primary alone feeds 30 text rules and 111 rgba()
       washes. Aliased rather than renamed, because those 111 washes are what
       the page's whole tinting is built from and one bad substitution there
       shows on every card.

       --company-primary maps to the ON-TINT brown, not the on-white one. Both
       are "the brand primary"; only the on-tint tone is legal on all three
       grounds this page puts text on, and a rule 30 uses deep does not tell
       you which ground it lands on. */
    .qms-app {
        --company-primary: var(--sankari-taupe-deep);
        --company-secondary: var(--sankari-ramp-4);
        --company-accent: var(--sankari-identity);
        --company-soft: var(--sankari-tint);
        --company-ink: var(--sankari-ink);
        --company-primary-rgb: var(--sankari-taupe-deep-rgb);
        --company-secondary-rgb: var(--sankari-taupe-rgb);
        --company-accent-rgb: var(--sankari-identity-rgb);
    }

    .qms-shell {
        border-color: rgba(var(--company-primary-rgb), .14);
        box-shadow:
            0 24px 70px rgba(var(--company-primary-rgb), .13),
            0 2px 10px rgba(var(--sankari-ink-rgb), .04);
        transition: border-color .35s ease, box-shadow .35s ease;
    }

    .qms-topbar {
        border-color: rgba(var(--company-primary-rgb), .13);
        box-shadow: 0 10px 34px rgba(var(--company-primary-rgb), .09);
        transition: border-color .35s ease, box-shadow .35s ease;
    }

    .qms-topbar-mark,
    .qms-topbar-center {
        color: var(--company-primary);
        transition: color .35s ease;
    }

    .qms-back {
        color: var(--company-ink) !important;
        background: rgba(var(--company-primary-rgb), .07);
        border-color: rgba(var(--company-primary-rgb), .12);
    }

    .qms-back:hover {
        color: var(--sankari-surface) !important;
        background: var(--company-primary);
        box-shadow: 0 8px 18px rgba(var(--company-primary-rgb), .20);
    }

    .qms-user-card {
        border-color: rgba(var(--company-primary-rgb), .13);
        background:
            linear-gradient(
                135deg,
                var(--sankari-surface),
                rgba(var(--company-accent-rgb), .15)
            );
        transition: border-color .35s ease, background .35s ease;
    }

    .qms-user-avatar {
        color: var(--company-primary);
        background: rgba(var(--company-accent-rgb), .28);
    }

    .qms-sidebar {
        border-inline-end-color: rgba(var(--company-primary-rgb), .13);
        background:
            linear-gradient(
                180deg,
                var(--sankari-surface),
                rgba(var(--company-accent-rgb), .11)
            );
        transition: border-color .35s ease, background .35s ease;
    }

    .qms-brand {
        position: relative;
        min-height: 176px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-bottom-color: rgba(var(--company-primary-rgb), .13);
    }







    .qms-brand-context {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        min-height: 24px;
        margin: 10px auto 0;
        padding: 4px 10px;
        border-radius: var(--sankari-radius-lg);
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .08);
        font-size: 9px;
        font-weight: 800;
        transition: color .35s ease, background .35s ease;
    }

    .qms-brand-context::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--company-secondary);
        box-shadow: 0 0 0 3px rgba(var(--company-secondary-rgb), .13);
    }

    .qms-brand-system {
        margin-top: 10px;
        padding-top: 10px;
        border-top-color: rgba(var(--company-primary-rgb), .09);
    }

    .qms-brand-title {
        color: var(--company-ink);
    }

    .qms-brand-subtitle,
    .qms-sidebar-label {
        color: var(--sankari-charcoal-soft);
    }

    .qms-side-button {
        color: var(--sankari-charcoal-soft);
        transition:
            color .2s ease,
            background .2s ease,
            border-color .2s ease,
            box-shadow .2s ease,
            transform .2s ease;
    }

    .qms-side-button:hover {
        color: var(--company-ink);
        border-color: rgba(var(--company-primary-rgb), .10);
        background: rgba(var(--company-primary-rgb), .07);
        transform: translateX(-2px);
    }

    .qms-side-button.active {
        color: var(--sankari-surface);
        border-color: rgba(255,255,255,.24);
        background:
            linear-gradient(
                135deg,
                var(--company-primary),
                var(--company-secondary)
            );
        box-shadow: 0 11px 26px rgba(var(--company-primary-rgb), .25);
    }

    .qms-side-count {
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .08);
    }

    .qms-side-button.active .qms-side-count {
        color: var(--sankari-surface);
        background: rgba(255,255,255,.18);
    }








    .qms-main-header {
        --header-accent: var(--sankari-taupe-deep);
        --header-accent-dark: var(--sankari-ramp-4);
        border-color: rgba(var(--company-primary-rgb), .16);
        background:
            radial-gradient(
                circle at 14% 14%,
                rgba(255,255,255,.30),
                transparent 25%
            ),
            radial-gradient(
                circle at 86% 16%,
                rgba(var(--company-accent-rgb), .31),
                transparent 28%
            ),
            linear-gradient(
                135deg,
                var(--sankari-charcoal) 0%,
                var(--company-primary) 48%,
                var(--company-secondary) 100%
            );
        box-shadow:
            0 25px 72px rgba(var(--company-primary-rgb), .23);
        transition:
            background .38s ease,
            border-color .38s ease,
            box-shadow .38s ease,
            transform .25s ease;
    }





    .qms-header-copy,
    .qms-header-side,
    .qms-header-breadcrumb {
        position: relative;
        z-index: 2;
    }

    .qms-header-v {
        border-color: rgba(255,255,255,.13);
    }

    .qms-header-ornament span {
        background: rgba(255,255,255,.58);
    }

    .qms-header-ornament i {
        border-color: var(--sankari-surface);
    }

    .qms-current-view-card,
    .qms-header-stat,
    .qms-header-icon,
    .qms-header-meta-item {
        border-color: rgba(255,255,255,.24);
        background: rgba(255,255,255,.14);
    }

    .qms-header-icon {
        overflow: hidden;
    }

    .qms-header-icon img {
        width: 88%;
        height: 88%;
        padding: 5px;
        object-fit: contain;
        border-radius: var(--sankari-radius);
        background: var(--sankari-surface);
    }

    .qms-search input:focus {
        border-color: rgba(var(--company-primary-rgb), .42);
        box-shadow: 0 0 0 4px rgba(var(--company-primary-rgb), .12);
    }

    .qms-company-chip {
        color: var(--company-ink);
        border-color: rgba(var(--company-primary-rgb), .12);
        background:
            linear-gradient(
                135deg,
                var(--sankari-surface),
                rgba(var(--company-accent-rgb), .15)
            );
    }

    .qms-section-card {
        border-color: rgba(var(--company-primary-rgb), .10);
        box-shadow: 0 9px 31px rgba(var(--company-primary-rgb), .08);
    }

    .qms-section-title,
    .qms-card-title,
    .qms-announcement-title {
        color: var(--company-ink);
    }

    .qms-section-count {
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .09);
    }

    .qms-card {
        border-color: rgba(var(--company-primary-rgb), .08);
    }

    .qms-card::before {
        background:
            linear-gradient(
                90deg,
                transparent,
                var(--company-secondary),
                transparent
            );
    }

    .qms-card:hover {
        border-color: rgba(var(--company-primary-rgb), .25);
        box-shadow: 0 18px 42px rgba(var(--company-primary-rgb), .15);
    }

    .qms-card-icon,
    .qms-form-card .qms-card-icon {
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .09);
    }

    .qms-card:hover .qms-card-icon,
    .qms-form-card:hover .qms-card-icon {
        color: var(--sankari-surface);
        background:
            linear-gradient(
                135deg,
                var(--company-primary),
                var(--company-secondary)
            );
    }

    .qms-card-action,
    .qms-announcement-arrow {
        color: var(--company-primary);
    }

    .qms-announcement-arrow {
        background: rgba(var(--company-primary-rgb), .09);
    }

    .qms-badge-primary {
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .09);
    }

    .qms-general-hero {
        border-color: rgba(var(--company-primary-rgb), .14);
        background:
            radial-gradient(
                circle at 18% 18%,
                rgba(255,255,255,.26),
                transparent 25%
            ),
            linear-gradient(
                135deg,
                var(--sankari-charcoal),
                var(--company-primary) 58%,
                var(--company-secondary)
            );
        box-shadow: 0 19px 52px rgba(var(--company-primary-rgb), .20);
    }

    .qms-company-tabs {
        border-color: rgba(var(--company-primary-rgb), .10);
        background: rgba(var(--company-primary-rgb), .07);
    }

    .qms-company-tab {
        color: var(--sankari-charcoal-soft);
    }

    .qms-company-tab.active {
        color: var(--company-ink);
        box-shadow: 0 3px 10px rgba(var(--company-primary-rgb), .12);
    }

    .qms-sidebar-help {
        border-color: rgba(var(--company-primary-rgb), .10);
        background: var(--sankari-surface);
        box-shadow: 0 8px 24px rgba(var(--company-primary-rgb), .08);
    }

    @media (max-width: 900px) {
        .qms-brand {
            min-height: auto;
        }






    }

    @media (max-width: 620px) {



    }


    /* ======================================================================
       REFINED MULTI-COMPANY HEADER
       Compact, light, readable and visually balanced for every company.
       ====================================================================== */

    .qms-main-header {
        min-height: 205px;
        padding-block: 24px;
        padding-inline: 235px 115px;
        border: 1px solid rgba(var(--company-primary-rgb), .14);
        border-radius: var(--sankari-radius-lg);
        color: var(--company-ink);
        background:
            radial-gradient(
                circle at 86% 4%,
                rgba(var(--company-secondary-rgb), .16),
                transparent 34%
            ),
            radial-gradient(
                circle at 8% 100%,
                rgba(var(--company-accent-rgb), .10),
                transparent 32%
            ),
            linear-gradient(
                135deg,
                var(--sankari-surface) 0%,
                var(--sankari-page) 58%,
                var(--sankari-surface) 100%
            );
        box-shadow: 0 14px 38px rgba(var(--company-primary-rgb), .11);
    }

    .qms-main-header::before,
    .qms-main-header::after,
    .qms-header-v {
        display: none !important;
    }






    .qms-header-copy {
        width: min(660px, 100%);
        margin: 0 auto;
        text-align: center;
    }

    .qms-header-breadcrumb {
        position: absolute;
        top: 15px;
        inset-inline-start: 20px;
        margin: 0;
        color: var(--sankari-charcoal-soft);
        font-size: 9px;
    }

    .qms-header-breadcrumb strong {
        color: var(--company-primary);
    }

    .qms-page-eyebrow {
        justify-content: center;
        margin-bottom: 7px;
        color: var(--company-primary);
        font-size: 9px;
        font-weight: 700;
    }

    .qms-header-ornament {
        width: min(310px, 72%);
        margin-bottom: 7px;
    }

    .qms-header-ornament span,
    .qms-header-ornament span:last-child {
        background: linear-gradient(
            90deg,
            transparent,
            rgba(var(--company-primary-rgb), .42),
            transparent
        );
    }

    .qms-header-ornament i {
        width: 8px;
        height: 8px;
        border-color: var(--company-secondary);
    }

    .qms-system-title {
        margin: 0;
        color: var(--company-ink);
        font-size: clamp(27px, 3vw, 38px);
        line-height: 1.28;
        font-weight: 700;
        letter-spacing: -.35px;
    }

    .qms-system-tagline {
        margin: 4px auto 10px;
        color: var(--sankari-charcoal-soft);
        font-size: 10px;
        font-weight: 500;
    }

    .qms-current-view-card {
        width: min(510px, 100%);
        padding: 9px 14px;
        border-color: rgba(var(--company-primary-rgb), .12);
        border-radius: var(--sankari-radius);
        background: var(--sankari-surface);
        box-shadow: 0 6px 18px rgba(var(--company-primary-rgb), .06);
    }

    .qms-current-view-label {
        color: var(--company-primary);
        font-size: 8px;
    }

    .qms-page-title {
        margin: 0 0 1px;
        color: var(--company-ink);
        font-size: 15px;
        font-weight: 700;
    }

    .qms-page-subtitle {
        color: var(--sankari-charcoal-soft);
        font-size: 9px;
        line-height: 1.6;
    }

    .qms-header-meta {
        margin-top: 8px;
        gap: 6px;
    }

    .qms-header-meta-item {
        min-height: 27px;
        padding: 4px 9px;
        border-color: rgba(var(--company-primary-rgb), .11);
        color: var(--company-primary);
        background: var(--sankari-surface);
        font-size: 8px;
    }

    .qms-header-side {
        position: absolute;
        z-index: 4;
        inset-inline-start: 20px;
        inset-inline-end: auto;
        bottom: 18px;
        flex-direction: row;
        align-items: center;
        gap: 7px;
    }

    .qms-header-stat {
        min-width: 78px;
        padding: 8px 9px;
        border-color: rgba(var(--company-primary-rgb), .12);
        background: var(--sankari-surface);
        box-shadow: 0 7px 20px rgba(var(--company-primary-rgb), .07);
    }

    .qms-header-stat-number {
        color: var(--company-ink);
        font-size: 19px;
    }

    .qms-header-stat-label {
        color: var(--sankari-charcoal-soft);
        font-size: 8px;
    }


    .qms-header-icon {
        display: none !important;
    }

    @media (max-width: 1100px) {
        .qms-main-header {
            min-height: 195px;
            padding-block: 22px;
            padding-inline: 195px 100px;
        }



        .qms-system-title {
            font-size: clamp(26px, 3.3vw, 34px);
        }
    }

    @media (max-width: 900px) {
        .qms-main-header {
            min-height: 185px;
            padding-block: 20px;
            padding-inline: 155px 88px;
        }



        .qms-header-side {
            inset-inline-start: 14px;
            bottom: 14px;
        }

        .qms-header-stat {
            min-width: 70px;
        }
    }

    @media (max-width: 620px) {
        .qms-main-header {
            min-height: auto;
            display: block;
            padding: 50px 16px 17px;
        }





        .qms-header-copy {
            width: 100%;
        }

        .qms-header-breadcrumb {
            top: 14px;
            inset-inline-start: 14px;
            inset-inline-end: 14px;
            justify-content: center;
        }

        .qms-system-title {
            font-size: 27px;
        }

        .qms-current-view-card {
            width: 100%;
        }

        .qms-header-side {
            position: static;
            justify-content: center;
            margin-top: 9px;
        }
    }




    .qms-app {
        --brand-line: rgba(var(--company-primary-rgb), .28);
    }

    .qms-main {
        padding: 24px;
    }

    .qms-main-header {
        min-height: 174px;
        display: grid;
        place-items: center;
        padding: 19px 190px;
        border-radius: var(--sankari-radius-lg);
        background:
            radial-gradient(
                circle at 91% 2%,
                rgba(var(--company-primary-rgb), .11),
                transparent 34%
            ),
            radial-gradient(
                circle at 5% 100%,
                rgba(var(--company-secondary-rgb), .08),
                transparent 29%
            ),
            linear-gradient(
                135deg,
                var(--sankari-surface) 0%,
                var(--sankari-page) 54%,
                var(--sankari-surface) 100%
            );
        border-color: rgba(var(--company-primary-rgb), .15);
        box-shadow:
            0 11px 28px rgba(var(--company-primary-rgb), .085),
            inset 0 1px 0 var(--sankari-surface);
    }

















    .qms-header-copy {
        position: relative;
        top: auto;
        inset-inline-end: auto;
        width: min(620px, 100%);
        margin: 0 auto;
        transform: none;
        text-align: center;
    }

    .qms-system-title {
        color: var(--company-ink);
        font-size: clamp(25px, 2.5vw, 33px);
        line-height: 1.24;
        font-weight: 750;
    }

    .qms-system-tagline {
        margin: 3px auto 8px;
        color: var(--sankari-charcoal-soft);
        font-size: 9.5px;
    }

    .qms-header-ornament {
        width: min(280px, 70%);
        margin-bottom: 5px;
    }

    .qms-header-ornament span,
    .qms-header-ornament span:last-child {
        height: 1px;
        background:
            linear-gradient(
                90deg,
                transparent,
                rgba(var(--company-primary-rgb), .48),
                transparent
            );
    }

    .qms-header-ornament i {
        border-color: var(--company-primary);
        background: var(--sankari-surface);
    }

    .qms-current-view-card {
        width: min(480px, 100%);
        margin: 9px auto 0;
        padding: 7px 12px;
        border-color: rgba(var(--company-primary-rgb), .11);
        background: var(--sankari-surface);
        box-shadow: 0 4px 13px rgba(var(--company-primary-rgb), .05);
    }

    .qms-page-title {
        font-size: 14px;
    }

    .qms-page-subtitle {
        font-size: 8.7px;
    }

    .qms-header-meta {
        margin-top: 6px;
    }

    .qms-header-meta-item {
        min-height: 25px;
        color: var(--company-ink);
        border-color: rgba(var(--company-primary-rgb), .11);
        background: var(--sankari-page);
    }

    .qms-header-side {
        inset-inline-start: 16px;
        bottom: 15px;
    }

    .qms-header-stat {
        min-width: 70px;
        padding: 7px 8px;
        border-radius: var(--sankari-radius);
        border-color: rgba(var(--company-primary-rgb), .12);
        background: var(--sankari-surface);
        box-shadow: 0 5px 14px rgba(var(--company-primary-rgb), .06);
    }

    .qms-header-stat-number {
        color: var(--company-primary);
        font-size: 18px;
    }

    .qms-header-stat-label {
        color: var(--sankari-charcoal-soft);
        font-size: 7.6px;
    }

    .qms-brand {
        min-height: 156px;
    }









    .qms-brand-context {
        margin-top: 7px;
        color: var(--company-ink);
        background: var(--sankari-page);
    }

    .qms-brand-context::before {
        background: var(--company-primary);
        box-shadow: 0 0 0 3px rgba(var(--company-primary-rgb), .10);
    }

    .qms-side-button {
        position: relative;
        min-height: 46px;
        border: 1px solid transparent;
        overflow: hidden;
    }

    .qms-side-button.active {
        color: var(--company-ink);
        border-color: rgba(var(--company-primary-rgb), .18);
        background:
            linear-gradient(
                135deg,
                var(--sankari-page),
                var(--sankari-surface)
            );
        box-shadow:
            0 7px 18px rgba(var(--company-primary-rgb), .10),
            inset -3px 0 0 var(--company-primary);
    }

    .qms-side-button.active svg {
        color: var(--company-primary);
    }

    .qms-side-button.active .qms-side-count {
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .10);
    }





    .qms-general-hero {
        color: var(--company-ink);
        border-color: rgba(var(--company-primary-rgb), .13);
        background:
            radial-gradient(
                circle at 85% 12%,
                rgba(var(--company-primary-rgb), .10),
                transparent 30%
            ),
            linear-gradient(
                135deg,
                var(--sankari-surface),
                var(--sankari-page)
            );
        box-shadow: 0 10px 30px rgba(var(--company-primary-rgb), .08);
    }

    .qms-general-title {
        color: var(--company-ink);
    }

    .qms-general-text {
        color: var(--sankari-charcoal-soft);
    }

    .qms-general-link {
        color: var(--sankari-surface) !important;
        border-color: transparent;
        background:
            linear-gradient(
                135deg,
                var(--company-primary),
                var(--company-secondary)
            );
        box-shadow: 0 7px 17px rgba(var(--company-primary-rgb), .17);
    }

    .qms-general-link:hover {
        background:
            linear-gradient(
                135deg,
                var(--company-secondary),
                var(--company-primary)
            );
    }

    .qms-card:hover .qms-card-icon,
    .qms-form-card:hover .qms-card-icon {
        color: var(--company-primary);
        background: var(--sankari-page);
        border: 1px solid rgba(var(--company-primary-rgb), .15);
        transform: translateY(-2px);
    }

    @media (max-width: 1100px) {
        .qms-main-header {
            min-height: 168px;
            padding: 18px 165px;
        }



        .qms-system-title {
            font-size: clamp(24px, 3vw, 30px);
        }
    }

    @media (max-width: 900px) {
        .qms-main {
            padding: 20px 16px;
        }

        .qms-main-header {
            min-height: 162px;
            padding: 17px 135px;
        }



        .qms-header-stat {
            min-width: 64px;
        }
    }

    @media (max-width: 620px) {
        .qms-main-header {
            padding: 44px 14px 15px;
        }



        .qms-system-title {
            font-size: 25px;
        }

        .qms-brand {
            min-height: auto;
        }
    }











.qms-company-panel[data-company-panel="departments"] {
        overflow: hidden;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-section-heading {
        position: relative;
        z-index: 12;
        margin-bottom: 8px;
    }

    .qms-orbit-stage {
        --orbit-node-width: 92px;
        --orbit-node-height: 62px;
        position: relative;
        width: min(100%, 920px);
        aspect-ratio: 1 / 1;
        margin: 4px auto 0;
        overflow: visible;
        isolation: isolate;
        border-radius: 50%;
        background:
            radial-gradient(
                circle at center,
                rgba(var(--company-primary-rgb), .075) 0,
                rgba(var(--company-primary-rgb), .025) 24%,
                transparent 48%
            );
    }

    .qms-orbit-ring {
        position: absolute;
        z-index: 1;
        top: 50%;
        inset-inline-end: 50%;
        border: 1px solid rgba(var(--company-primary-rgb), .16);
        border-radius: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
    }

    .qms-orbit-ring::after {
        content: "";
        position: absolute;
        top: -3px;
        inset-inline-end: 50%;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--company-secondary);
        box-shadow: 0 0 0 4px rgba(var(--company-secondary-rgb), .10);
        transform: translateX(-50%);
    }

    .qms-orbit-center {
        position: absolute;
        z-index: 8;
        top: 50%;
        inset-inline-end: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: clamp(154px, 22%, 196px);
        aspect-ratio: 1 / 1;
        padding: 18px;
        overflow: hidden;
        border: 1px solid rgba(var(--company-primary-rgb), .17);
        border-radius: 50%;
        color: var(--company-ink);
        background:
            radial-gradient(
                circle at 50% 12%,
                rgba(var(--company-accent-rgb), .23),
                transparent 58%
            ),
            var(--sankari-surface);
        text-align: center;
        box-shadow:
            0 18px 42px rgba(var(--company-primary-rgb), .13),
            inset 0 0 0 9px rgba(var(--company-primary-rgb), .025);
        transform: translate(-50%, -50%);
    }

    .qms-orbit-center-content {
        width: 100%;
        min-width: 0;
    }

    .qms-orbit-center-icon {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        margin: 0 auto 8px;
        border-radius: var(--sankari-radius-lg);
        color: var(--sankari-surface);
        background: linear-gradient(
            145deg,
            var(--company-primary),
            var(--company-secondary)
        );
        box-shadow: 0 9px 22px rgba(var(--company-primary-rgb), .22);
    }

    .qms-orbit-center-label {
        display: block;
        margin-bottom: 3px;
        color: var(--company-primary);
        font-size: 8px;
        font-weight: 800;
    }

    .qms-orbit-center-title {
        display: -webkit-box;
        min-height: 36px;
        margin: 0;
        overflow: hidden;
        color: var(--company-ink);
        font-size: clamp(13px, 1.55vw, 17px);
        line-height: 1.45;
        font-weight: 800;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .qms-orbit-center-count {
        display: inline-flex;
        align-items: baseline;
        justify-content: center;
        gap: 4px;
        margin-top: 4px;
        color: var(--qms-muted);
        font-size: 9px;
        font-weight: 700;
    }

    .qms-orbit-center-count strong {
        color: var(--company-primary);
        font-size: 21px;
        line-height: 1;
        font-weight: 800;
    }

    .qms-orbit-center-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        min-height: 31px;
        margin-top: 9px;
        padding: 6px 12px;
        border-radius: var(--sankari-radius);
        color: var(--sankari-surface) !important;
        background: linear-gradient(
            135deg,
            var(--company-primary),
            var(--company-secondary)
        );
        font-size: 8.5px;
        font-weight: 800;
        text-decoration: none !important;
        box-shadow: 0 7px 17px rgba(var(--company-primary-rgb), .18);
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .qms-orbit-center-link:hover {
        color: var(--sankari-surface) !important;
        transform: translateY(-2px);
        box-shadow: 0 10px 22px rgba(var(--company-primary-rgb), .24);
    }

    .qms-orbit-center-link.is-disabled {
        pointer-events: none;
        opacity: .48;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes {
        position: absolute;
        z-index: 4;
        inset: 0;
        display: block;
        pointer-events: none;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        width: var(--node-width, var(--orbit-node-width));
        min-height: var(--node-height, var(--orbit-node-height));
        height: var(--node-height, var(--orbit-node-height));
        margin: 0;
        padding: 7px 7px 6px;
        overflow: visible;
        border: 1px solid rgba(var(--company-primary-rgb), .12);
        border-radius: var(--sankari-radius);
        color: var(--company-ink) !important;
        background: var(--sankari-surface);
        box-shadow: 0 7px 20px rgba(var(--company-primary-rgb), .075);
        text-align: center;
        transform: translate(-50%, -50%);
        transform-origin: center;
        pointer-events: auto;
        cursor: pointer;
        transition:
            border-color .18s ease,
            background .18s ease,
            box-shadow .18s ease,
            transform .18s ease,
            color .18s ease;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card::before {
        display: none;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card:hover {
        z-index: 12;
        border-color: rgba(var(--company-primary-rgb), .34);
        background: var(--sankari-page);
        box-shadow: 0 12px 27px rgba(var(--company-primary-rgb), .15);
        transform: translate(-50%, -50%) scale(1.055);
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card.is-selected {
        z-index: 11;
        border-color: var(--company-primary);
        color: var(--sankari-surface) !important;
        background: linear-gradient(
            145deg,
            var(--company-primary),
            var(--company-secondary)
        );
        box-shadow:
            0 13px 29px rgba(var(--company-primary-rgb), .25),
            0 0 0 4px rgba(var(--company-primary-rgb), .09);
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-icon {
        position: absolute;
        top: 5px;
        inset-inline-start: 50%;
        display: grid;
        place-items: center;
        width: 23px;
        height: 23px;
        margin: 0;
        border: 0;
        border-radius: var(--sankari-radius-sm);
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .09);
        transform: translateX(50%);
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card:hover .qms-card-icon {
        color: var(--company-primary);
        background: rgba(var(--company-primary-rgb), .10);
        transform: translateX(50%);
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card.is-selected .qms-card-icon {
        color: var(--sankari-surface);
        background: rgba(255,255,255,.17);
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-icon svg {
        width: 14px;
        height: 14px;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-title {
        display: -webkit-box;
        width: 100%;
        margin: 21px 0 9px;
        overflow: hidden;
        color: inherit;
        font-size: var(--node-font-size, 8.5px);
        line-height: 1.35;
        font-weight: 800;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-text,
    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-action {
        display: none;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-doc-count {
        position: absolute;
        top: auto;
        inset-inline-start: 6px;
        bottom: 4px;
        inset-inline-end: 6px;
        display: block;
        min-width: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
        border-radius: 0;
        color: var(--qms-muted);
        background: transparent;
        font-size: 7px;
        line-height: 1.2;
        font-weight: 700;
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-doc-count svg {
        display: none;
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card.is-selected .qms-card-doc-count {
        color: var(--sankari-surface);
    }

    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-empty-search,
    .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-alert {
        position: absolute;
        z-index: 20;
        top: 50%;
        inset-inline-end: 50%;
        width: min(360px, 72%);
        margin: 0;
        transform: translate(-50%, -50%);
        pointer-events: auto;
    }

    .qms-orbit-note {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        margin-top: -8px;
        color: var(--qms-muted);
        font-size: 8.5px;
        font-weight: 600;
        text-align: center;
    }

    .qms-orbit-note svg {
        color: var(--company-primary);
        flex: 0 0 auto;
    }

    @media (max-width: 1180px) {
        .qms-orbit-stage {
            --orbit-node-width: 82px;
            --orbit-node-height: 58px;
            width: min(100%, 790px);
        }

        .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-title {
            font-size: var(--node-font-size, 7.8px);
        }
    }

    @media (max-width: 900px) {
        .qms-orbit-stage {
            --orbit-node-width: 76px;
            --orbit-node-height: 54px;
            width: min(100%, 720px);
        }

        .qms-orbit-center {
            width: 142px;
            padding: 14px;
        }

        .qms-orbit-center-icon {
            width: 41px;
            height: 41px;
        }
    }

    /* A circular map is not readable on a narrow phone.
       Keep all departments on the same page using a compact grid fallback. */
    @media (max-width: 700px) {
        .qms-orbit-stage {
            width: 100%;
            aspect-ratio: auto;
            margin-top: 8px;
            background: transparent;
        }

        .qms-orbit-ring {
            display: none;
        }

        .qms-orbit-center {
            position: relative;
            top: auto;
            inset-inline-end: auto;
            width: min(250px, 100%);
            aspect-ratio: auto;
            margin: 0 auto 14px;
            border-radius: var(--sankari-radius-lg);
            transform: none;
        }

        .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes {
            position: relative;
            inset: auto;
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 9px;
            pointer-events: auto;
        }

        .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card {
            position: relative;
            top: auto !important;
            inset-inline-end: auto !important;
            width: 100% !important;
            min-height: 82px;
            height: 82px !important;
            transform: none;
        }

        .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card:hover {
            transform: translateY(-2px);
        }

        .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-empty-search,
        .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-alert {
            position: relative;
            top: auto;
            inset-inline-end: auto;
            width: 100%;
            transform: none;
            grid-column: 1 / -1;
        }

        .qms-orbit-note {
            margin-top: 12px;
        }
    }

    @media (max-width: 430px) {
        .qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes {
            grid-template-columns: 1fr;
        }
    }


.qms-main-header {
    min-height: 156px;
    display: grid;
    place-items: center;
    padding: 28px 135px 24px;
    border: 1px solid rgba(var(--company-primary-rgb), .14);
    border-radius: var(--sankari-radius-lg);
    background:
        radial-gradient(
            circle at 92% 0%,
            rgba(var(--company-primary-rgb), .10),
            transparent 36%
        ),
        radial-gradient(
            circle at 5% 100%,
            rgba(var(--company-secondary-rgb), .07),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--sankari-surface) 0%,
            var(--sankari-page) 52%,
            var(--sankari-surface) 100%
        );
    box-shadow:
        0 10px 28px rgba(var(--company-primary-rgb), .08),
        inset 0 1px 0 var(--sankari-surface);
}


.qms-header-copy {
    width: min(690px, 100%);
    margin: 0 auto;
    text-align: center;
}

.qms-page-eyebrow {
    justify-content: center;
    margin-bottom: 8px;
    color: var(--company-primary);
    font-size: 9px;
    font-weight: 700;
}

.qms-header-ornament {
    width: min(250px, 60%);
    margin: 0 auto 7px;
}

.qms-system-title {
    margin: 0;
    color: var(--company-ink);
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.45px;
}

.qms-system-tagline {
    max-width: 560px;
    margin: 7px auto 0;
    color: var(--sankari-charcoal-soft);
    font-size: 10px;
    line-height: 1.8;
    font-weight: 500;
}

.qms-header-breadcrumb {
    position: absolute;
    top: 16px;
    inset-inline-start: 20px;
    inset-inline-end: auto;
    margin: 0;
    color: var(--sankari-charcoal-soft);
    font-size: 8.5px;
}

.qms-header-breadcrumb strong {
    color: var(--company-primary);
}

.qms-header-side {
    position: absolute;
    top: 50%;
    inset-inline-start: auto;
    inset-inline-end: 20px;
    bottom: auto;
    display: flex;
    align-items: center;
    margin: 0;
    transform: translateY(-50%);
}

.qms-header-stat {
    min-width: 78px;
    padding: 10px 11px;
    border: 1px solid rgba(var(--company-primary-rgb), .12);
    border-radius: var(--sankari-radius);
    background: var(--sankari-surface);
    box-shadow: 0 6px 17px rgba(var(--company-primary-rgb), .07);
}

.qms-header-stat-number {
    color: var(--company-primary);
    font-size: 20px;
}

.qms-header-stat-label {
    margin-top: 3px;
    color: var(--sankari-charcoal-soft);
    font-size: 7.8px;
}

@media (max-width: 900px) {
    .qms-main-header {
        min-height: 150px;
        padding: 26px 105px 22px;
    }

    .qms-header-side {
        inset-inline-end: 14px;
    }

    .qms-header-stat {
        min-width: 68px;
    }
}

@media (max-width: 620px) {
    .qms-main-header {
        min-height: auto;
        display: block;
        padding: 48px 16px 17px;
    }

    .qms-header-copy {
        width: 100%;
    }

    .qms-system-title {
        font-size: 27px;
    }

    .qms-system-tagline {
        font-size: 9px;
    }

    .qms-header-breadcrumb {
        top: 14px;
        inset-inline-start: 14px;
        inset-inline-end: 14px;
        justify-content: center;
    }

    .qms-header-side {
        position: static;
        justify-content: center;
        margin-top: 12px;
        transform: none;
    }
}

/* ======================================================================
   COMPANY ICONS
   Company identity is represented by inline SVG icons instead of logos.
   ====================================================================== */

.qms-brand {
    min-height: 156px;
}

.qms-brand-icon-frame {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 91px;
    padding: 8px;
    border: 1px solid rgba(var(--company-primary-rgb), .11);
    border-radius: var(--sankari-radius-lg);
    background:
        radial-gradient(
            circle at 50% 12%,
            rgba(var(--company-accent-rgb), .22),
            transparent 70%
        ),
        var(--sankari-surface);
    box-shadow: 0 7px 20px rgba(var(--company-primary-rgb), .07);
}

.qms-active-brand-icon {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border: 1px solid rgba(var(--company-primary-rgb), .14);
    border-radius: var(--sankari-radius-lg);
    color: var(--company-primary);
    background:
        linear-gradient(
            145deg,
            var(--sankari-page),
            var(--sankari-surface)
        );
    box-shadow:
        0 9px 24px rgba(var(--company-primary-rgb), .12),
        inset 0 1px 0 var(--sankari-surface);
    transition:
        color .3s ease,
        border-color .3s ease,
        background .3s ease,
        transform .22s ease;
}

.qms-active-brand-icon:hover {
    transform: translateY(-2px);
}

.qms-active-brand-icon svg {
    width: 38px;
    height: 38px;
}

.qms-side-company-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 36px;
    flex: 0 0 42px;
    border: 1px solid rgba(var(--company-primary-rgb), .11);
    border-radius: var(--sankari-radius);
    color: var(--company-primary);
    background:
        linear-gradient(
            145deg,
            rgba(var(--company-primary-rgb), .07),
            var(--sankari-surface)
        );
    box-shadow: 0 3px 10px rgba(var(--company-primary-rgb), .06);
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.qms-side-company-icon svg {
    width: 20px;
    height: 20px;
}

.qms-side-button:hover .qms-side-company-icon {
    transform: translateX(-1px);
    border-color: rgba(var(--company-primary-rgb), .20);
}

.qms-side-button.active .qms-side-company-icon {
    color: var(--sankari-surface);
    border-color: transparent;
    background:
        linear-gradient(
            135deg,
            var(--company-primary),
            var(--company-secondary)
        );
    box-shadow: 0 5px 13px rgba(var(--company-primary-rgb), .18);
}

@media (max-width: 900px) {
    .qms-brand {
        min-height: auto;
    }

    .qms-brand-icon-frame {
        width: 92px;
        min-height: 76px;
        flex: 0 0 92px;
    }

    .qms-active-brand-icon {
        width: 58px;
        height: 58px;
        border-radius: var(--sankari-radius-lg);
    }

    .qms-active-brand-icon svg {
        width: 32px;
        height: 32px;
    }
}

@media (max-width: 620px) {
    .qms-brand-icon-frame {
        width: 100%;
        min-height: 82px;
        margin-bottom: 9px;
    }

    .qms-side-company-icon {
        width: 38px;
        height: 33px;
        flex-basis: 38px;
    }
}


/* ======================================================================
   COMPANY IMAGE WITH SVG FALLBACK
   Optional images are loaded from public/images/qms-companies.
   ====================================================================== */

.qms-company-image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}

.qms-active-brand-icon[data-visual-type="image"] {
    padding: 8px;
    color: inherit;
    background: var(--sankari-surface);
}

.qms-side-company-icon[data-visual-type="image"] {
    padding: 3px;
    color: inherit;
    background: var(--sankari-surface);
}

.qms-side-button.active .qms-side-company-icon[data-visual-type="image"] {
    border-color: rgba(var(--company-primary-rgb), .18);
    background: var(--sankari-surface);
}

/* ======================================================================
   LARGER COMPANY LOGOS
   Increase the main company visual and sidebar company visuals.
   ====================================================================== */

.qms-brand-icon-frame {
    min-height: 112px;
    padding: 9px;
}

.qms-active-brand-icon {
    width: 86px;
    height: 86px;
    border-radius: var(--sankari-radius-lg);
}

.qms-active-brand-icon svg {
    width: 48px;
    height: 48px;
}

.qms-active-brand-icon[data-visual-type="image"] {
    padding: 5px;
}

.qms-side-company-icon {
    width: 50px;
    height: 43px;
    flex-basis: 50px;
    padding: 3px;
}

.qms-side-company-icon svg {
    width: 24px;
    height: 24px;
}

.qms-side-company-icon[data-visual-type="image"] {
    padding: 2px;
}

@media (max-width: 900px) {
    .qms-brand-icon-frame {
        width: 112px;
        min-height: 92px;
        flex-basis: 112px;
    }

    .qms-active-brand-icon {
        width: 72px;
        height: 72px;
        border-radius: var(--sankari-radius-lg);
    }

    .qms-active-brand-icon svg {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 620px) {
    .qms-brand-icon-frame {
        width: 100%;
        min-height: 102px;
    }

    .qms-active-brand-icon {
        width: 78px;
        height: 78px;
    }

    .qms-side-company-icon {
        width: 46px;
        height: 39px;
        flex-basis: 46px;
    }
}

/* ======================================================================
   INTERACTIVE ORBIT
   Drag the circular department map to rotate it.
   ====================================================================== */

@media (min-width: 701px) {
    .qms-orbit-stage {
        cursor: grab;
        touch-action: none;
        user-select: none;
        -webkit-user-select: none;
        outline: none;
    }

    .qms-orbit-stage:focus-visible {
        box-shadow:
            0 0 0 4px rgba(var(--company-primary-rgb), .10),
            inset 0 0 0 1px rgba(var(--company-primary-rgb), .12);
    }

    .qms-orbit-stage.is-dragging {
        cursor: grabbing;
    }

    .qms-orbit-stage.is-dragging
    .qms-grid.qms-orbit-nodes > .qms-card {
        transition: none !important;
        pointer-events: none;
    }

    .qms-orbit-stage.is-programmatic-rotation
    .qms-grid.qms-orbit-nodes > .qms-card {
        transition:
            left .30s cubic-bezier(.22,.8,.25,1),
            top .30s cubic-bezier(.22,.8,.25,1),
            border-color .18s ease,
            background .18s ease,
            box-shadow .18s ease,
            transform .18s ease,
            color .18s ease;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qms-orbit-stage.is-programmatic-rotation
    .qms-grid.qms-orbit-nodes > .qms-card {
        transition: none;
    }
}

/* ======================================================================
   INDEPENDENT RING ROTATION
   Each concentric ring can be dragged separately.
   ====================================================================== */

@media (min-width: 701px) {
    .qms-orbit-ring {
        transition:
            border-color .16s ease,
            border-width .16s ease,
            box-shadow .16s ease;
    }

    .qms-orbit-ring.is-drag-target {
        border-width: 2px;
        border-color: rgba(var(--company-primary-rgb), .46);
        box-shadow:
            0 0 0 7px rgba(var(--company-primary-rgb), .055);
    }

    .qms-orbit-stage.is-dragging {
        cursor: grabbing;
    }

    .qms-orbit-stage.is-dragging
    .qms-grid.qms-orbit-nodes > .qms-card {
        transition: none !important;
    }
}


/* ======================================================================
   HEADER REFINEMENT + COMPANY LOGO + BIGGER CARDS
   ====================================================================== */

.qms-main-header {
    min-height: 208px;
    padding-block: 28px;
    padding-inline: 34px 200px;
}

.qms-header-side {
    display: none !important;
}

.qms-header-breadcrumb {
    top: 18px;
    inset-inline-start: 24px;
    inset-inline-end: auto;
}

.qms-header-copy.qms-header-copy-centered {
    width: min(700px, calc(100% - 220px));
    margin: 0 auto;
    text-align: center;
}

.qms-page-eyebrow {
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 10.5px;
    font-weight: 800;
}

.qms-header-ornament {
    width: min(320px, 74%);
    margin: 8px auto 9px;
}

.qms-system-title {
    font-size: clamp(31px, 3.1vw, 46px);
    line-height: 1.08;
    letter-spacing: -.02em;
    margin-bottom: 8px;
}

.qms-system-tagline {
    max-width: 520px;
    margin: 0 auto;
    font-size: 11.5px;
    line-height: 1.9;
}

.qms-header-brand {
    position: absolute;
    z-index: 3;
    top: 50%;
    inset-inline-end: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 148px;
    transform: translateY(-50%);
    text-align: center;
}

.qms-header-brand-visual {
    display: grid;
    place-items: center;
    width: 110px;
    height: 110px;
    padding: 10px;
    border: 1px solid rgba(var(--company-primary-rgb), .16);
    border-radius: var(--sankari-radius-lg);
    color: var(--company-primary);
    background:
        linear-gradient(145deg, var(--sankari-surface), var(--sankari-surface));
    box-shadow:
        0 12px 28px rgba(var(--company-primary-rgb), .10),
        inset 0 1px 0 var(--sankari-surface);
}

.qms-header-brand-visual svg {
    width: 60px;
    height: 60px;
}

.qms-header-brand-visual[data-visual-type="image"] {
    padding: 8px;
}

.qms-header-brand-visual[data-visual-type="image"] .qms-company-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.qms-header-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.qms-header-brand-copy strong {
    color: var(--company-ink);
    font-size: 12.5px;
    line-height: 1.35;
    font-weight: 800;
}

.qms-header-brand-copy small {
    color: var(--sankari-charcoal-soft);
    font-size: 9.5px;
    font-weight: 700;
}

/* Bigger standard cards */
.qms-grid:not(.qms-orbit-nodes) > .qms-card,
.qms-grid:not(.qms-orbit-nodes) > .qms-form-card {
    min-height: 150px;
    padding: 18px 18px 16px;
    border-radius: var(--sankari-radius-lg);
}

.qms-grid:not(.qms-orbit-nodes) > .qms-card .qms-card-icon,
.qms-grid:not(.qms-orbit-nodes) > .qms-form-card .qms-card-icon {
    width: 42px;
    height: 42px;
    border-radius: var(--sankari-radius);
}

.qms-grid:not(.qms-orbit-nodes) > .qms-card .qms-card-title,
.qms-grid:not(.qms-orbit-nodes) > .qms-form-card .qms-card-title {
    font-size: 15px;
    line-height: 1.5;
}

.qms-grid:not(.qms-orbit-nodes) > .qms-card .qms-card-text,
.qms-grid:not(.qms-orbit-nodes) > .qms-form-card .qms-card-text {
    font-size: 10px;
    line-height: 1.8;
}

.qms-grid:not(.qms-orbit-nodes) > .qms-card .qms-card-action,
.qms-grid:not(.qms-orbit-nodes) > .qms-form-card .qms-card-action {
    font-size: 10px;
}

/* Bigger orbit map */
.qms-orbit-stage {
    --orbit-node-width: 108px;
    --orbit-node-height: 74px;
    width: min(100%, 980px);
    margin: 10px auto 0;
}

.qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card {
    padding: 8px 8px 7px;
    border-radius: var(--sankari-radius-lg);
    box-shadow: 0 9px 24px rgba(var(--company-primary-rgb), .09);
}

.qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-icon {
    top: 6px;
    width: 26px;
    height: 26px;
    border-radius: var(--sankari-radius-sm);
}

.qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-icon svg {
    width: 15px;
    height: 15px;
}

.qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-title {
    margin: 24px 0 10px;
    font-size: var(--node-font-size, 9.3px);
    line-height: 1.4;
}

.qms-company-panel[data-company-panel="departments"] .qms-grid.qms-orbit-nodes > .qms-card .qms-card-doc-count {
    bottom: 5px;
    font-size: 7.5px;
}

.qms-orbit-center {
    width: clamp(178px, 24%, 228px);
    padding: 22px;
    border-width: 1px;
    box-shadow:
        0 22px 46px rgba(var(--company-primary-rgb), .15),
        inset 0 0 0 10px rgba(var(--company-primary-rgb), .03);
}

.qms-orbit-center-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 10px;
    border-radius: var(--sankari-radius-lg);
}

.qms-orbit-center-label {
    margin-bottom: 5px;
    font-size: 8.6px;
}

.qms-orbit-center-title {
    min-height: 40px;
    font-size: clamp(15px, 1.7vw, 19px);
    line-height: 1.48;
}

.qms-orbit-center-count {
    gap: 5px;
    margin-top: 5px;
    font-size: 9.5px;
}

.qms-orbit-center-count strong {
    font-size: 23px;
}

.qms-orbit-center-link {
    min-height: 34px;
    margin-top: 11px;
    padding: 7px 14px;
    border-radius: var(--sankari-radius);
    font-size: 9px;
}

@media (max-width: 1100px) {
    .qms-main-header {
        min-height: 196px;
        padding-block: 26px;
        padding-inline: 26px 176px;
    }

    .qms-header-copy.qms-header-copy-centered {
        width: min(640px, calc(100% - 190px));
    }

    .qms-system-title {
        font-size: clamp(29px, 3.2vw, 40px);
    }

    .qms-header-brand {
        inset-inline-end: 18px;
        width: 132px;
    }

    .qms-header-brand-visual {
        width: 98px;
        height: 98px;
    }

    .qms-orbit-stage {
        --orbit-node-width: 100px;
        --orbit-node-height: 69px;
        width: min(100%, 900px);
    }
}

@media (max-width: 900px) {
    .qms-main-header {
        min-height: 186px;
        padding-block: 20px;
        padding-inline: 18px 150px;
    }

    .qms-header-copy.qms-header-copy-centered {
        width: min(100%, calc(100% - 156px));
    }

    .qms-system-title {
        font-size: clamp(27px, 4.3vw, 36px);
    }

    .qms-system-tagline {
        font-size: 10.5px;
    }

    .qms-header-brand {
        inset-inline-end: 14px;
        width: 112px;
    }

    .qms-header-brand-visual {
        width: 86px;
        height: 86px;
        border-radius: var(--sankari-radius-lg);
    }

    .qms-header-brand-visual svg {
        width: 50px;
        height: 50px;
    }

    .qms-header-brand-copy strong {
        font-size: 11px;
    }

    .qms-orbit-stage {
        --orbit-node-width: 92px;
        --orbit-node-height: 66px;
        width: min(100%, 820px);
    }

    .qms-orbit-center {
        width: clamp(164px, 23%, 204px);
        padding: 18px;
    }
}

@media (max-width: 620px) {
    .qms-main-header {
        min-height: 208px;
        padding: 72px 14px 18px;
    }

    .qms-header-breadcrumb {
        top: 12px;
        inset-inline-start: 12px;
    }

    .qms-header-brand {
        position: relative;
        top: auto;
        inset-inline-end: auto;
        width: 100%;
        margin-bottom: 10px;
        transform: none;
    }

    .qms-header-copy.qms-header-copy-centered {
        width: 100%;
    }

    .qms-system-title {
        font-size: 28px;
    }

    .qms-system-tagline {
        font-size: 10px;
        line-height: 1.8;
    }
}


/* ======================================================================
   FULL-WIDTH HEADER TEXT
   Remove the main-header company card and use the full header width.
   ====================================================================== */

.qms-header-brand,
.qms-header-brand-visual,
.qms-header-brand-copy {
    display: none !important;
}

.qms-main-header {
    min-height: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 36px 42px 28px;
}

.qms-header-copy.qms-header-copy-centered {
    width: min(860px, 100%);
    max-width: none;
    margin: 0 auto;
    padding: 16px 20px 8px;
    text-align: center;
}

.qms-page-eyebrow {
    justify-content: center;
    margin: 0 auto 10px;
    font-size: 10.5px;
}

.qms-header-ornament {
    width: min(310px, 54%);
    margin: 7px auto 10px;
}

.qms-system-title {
    width: 100%;
    margin: 0 auto 8px;
    color: var(--company-ink);
    font-size: clamp(35px, 4vw, 52px);
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -.025em;
    text-align: center;
    white-space: nowrap;
}

.qms-system-tagline {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    font-size: 11px;
    line-height: 1.9;
    text-align: center;
}

.qms-header-breadcrumb {
    top: 17px;
    inset-inline-start: 22px;
    inset-inline-end: auto;
}

@media (max-width: 900px) {
    .qms-main-header {
        min-height: 184px;
        padding: 40px 26px 24px;
    }

    .qms-header-copy.qms-header-copy-centered {
        width: min(760px, 100%);
        padding-inline-start: 12px;
        padding-inline-end: 12px;
    }

    .qms-system-title {
        font-size: clamp(31px, 5vw, 43px);
    }
}

@media (max-width: 620px) {
    .qms-main-header {
        min-height: 205px;
        padding: 58px 16px 22px;
    }

    .qms-header-copy.qms-header-copy-centered {
        padding: 8px 0 0;
    }

    .qms-system-title {
        font-size: 30px;
        line-height: 1.35;
        white-space: normal;
    }

    .qms-system-tagline {
        max-width: 420px;
        font-size: 10px;
    }

    .qms-header-ornament {
        width: min(240px, 72%);
    }
}


    /* Force the main header content to use the complete available width. */
    .qms-app .qms-main-header {
        position: relative;
        display: block;
        min-height: 190px;
        padding: 0;
        overflow: hidden;
    }

    .qms-app .qms-main-header .qms-header-side,
    .qms-app .qms-main-header .qms-header-brand,
    .qms-app .qms-main-header .qms-header-brand-visual,
    .qms-app .qms-main-header .qms-header-brand-copy {
        display: none;
    }

    .qms-app .qms-main-header .qms-header-copy,
    .qms-app .qms-main-header .qms-header-copy.qms-header-copy-centered {
        position: absolute;
        z-index: 2;
        inset: 0;
        top: 0;
        inset-inline-start: 0;
        bottom: 0;
        inset-inline-end: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 100%;
        max-width: none;
        height: 100%;
        margin: 0;
        padding: 46px 40px 24px;
        text-align: center;
        transform: none;
    }

    .qms-app .qms-main-header .qms-page-eyebrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        max-width: 100%;
        margin: 0 auto 8px;
        white-space: nowrap;
    }

    .qms-app .qms-main-header .qms-header-ornament {
        width: min(310px, 42%);
        margin: 5px auto 9px;
        flex: 0 0 auto;
    }

    .qms-app .qms-main-header .qms-system-title {
        display: block;
        width: 100%;
        max-width: none;
        margin: 0 auto 7px;
        padding: 0;
        font-size: clamp(34px, 4vw, 48px);
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: -.02em;
        text-align: center;
        white-space: nowrap;
        word-break: normal;
        overflow-wrap: normal;
    }

    .qms-app .qms-main-header .qms-system-tagline {
        display: block;
        width: 100%;
        max-width: 680px;
        margin: 0 auto;
        padding: 0;
        font-size: 11px;
        line-height: 1.9;
        text-align: center;
        white-space: normal;
    }

    .qms-app .qms-main-header .qms-header-breadcrumb {
        position: absolute;
        z-index: 5;
        top: 15px;
        inset-inline-start: 20px;
        bottom: auto;
        inset-inline-end: auto;
        width: auto;
        margin: 0;
        transform: none;
    }

    @media (max-width: 700px) {
        .qms-app .qms-main-header {
            min-height: 200px;
        }

        .qms-app .qms-main-header .qms-header-copy,
        .qms-app .qms-main-header .qms-header-copy.qms-header-copy-centered {
            padding: 55px 16px 20px;
        }

        .qms-app .qms-main-header .qms-system-title {
            font-size: 29px;
            line-height: 1.35;
            white-space: normal;
        }

        .qms-app .qms-main-header .qms-page-eyebrow {
            white-space: normal;
        }

        .qms-app .qms-main-header .qms-header-ornament {
            width: min(240px, 68%);
        }
    }


/* ======================================================================
   COMPANY LOGO IN ORBIT CENTER + LARGER DEPARTMENT CARDS
   ====================================================================== */

.qms-orbit-center-logo {
    display: grid;
    place-items: center;
    width: 108px;
    height: 70px;
    margin: 0 auto 9px;
    padding: 5px 8px;
    overflow: hidden;
    border: 1px solid rgba(var(--company-primary-rgb), .12);
    border-radius: var(--sankari-radius-lg);
    color: var(--company-primary);
    background:
        linear-gradient(
            145deg,
            var(--sankari-surface),
            var(--sankari-page)
        );
    box-shadow:
        0 8px 20px rgba(var(--company-primary-rgb), .085),
        inset 0 1px 0 var(--sankari-surface);
}

.qms-orbit-center-logo svg {
    width: 44px;
    height: 44px;
}

.qms-orbit-center-logo[data-visual-type="image"] {
    padding: 5px 7px;
}

.qms-orbit-center-logo[data-visual-type="image"] .qms-company-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.qms-orbit-center {
    width: clamp(190px, 25%, 238px);
    padding: 20px 18px;
}

.qms-orbit-center-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card {
    border-radius: var(--sankari-radius-lg);
    box-shadow:
        0 9px 24px rgba(var(--company-primary-rgb), .09),
        inset 0 1px 0 var(--sankari-surface);
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card .qms-card-icon {
    top: 6px;
    width: 27px;
    height: 27px;
    border-radius: var(--sankari-radius-sm);
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card .qms-card-icon svg {
    width: 16px;
    height: 16px;
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card .qms-card-title {
    margin-top: 25px;
}

@media (max-width: 900px) {
    .qms-orbit-center-logo {
        width: 92px;
        height: 61px;
    }

    .qms-orbit-center {
        width: 178px;
        padding: 16px 14px;
    }
}

@media (max-width: 700px) {
    .qms-orbit-center-logo {
        width: 114px;
        height: 72px;
    }

    .qms-orbit-center {
        width: min(270px, 100%);
    }
}


/* ======================================================================
   ORBIT CENTER: COMPANY LOGO ONLY
   ====================================================================== */

.qms-orbit-center.qms-orbit-center-logo-only {
    width: clamp(176px, 23%, 218px);
    padding: 18px;
}

.qms-orbit-center-logo-only .qms-orbit-center-content {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
}

.qms-orbit-center-logo-only .qms-orbit-center-logo {
    width: 142px;
    height: 104px;
    margin: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: var(--sankari-radius-lg);
    background: transparent;
    box-shadow: none;
}

.qms-orbit-center-logo-only
.qms-orbit-center-logo[data-visual-type="image"] {
    padding: 4px;
}

.qms-orbit-center-logo-only
.qms-orbit-center-logo[data-visual-type="image"]
.qms-company-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.qms-orbit-center-logo-only .qms-orbit-center-logo svg {
    width: 72px;
    height: 72px;
}

@media (max-width: 900px) {
    .qms-orbit-center.qms-orbit-center-logo-only {
        width: 168px;
        padding: 14px;
    }

    .qms-orbit-center-logo-only .qms-orbit-center-logo {
        width: 126px;
        height: 90px;
    }
}

@media (max-width: 700px) {
    .qms-orbit-center.qms-orbit-center-logo-only {
        width: min(220px, 100%);
        min-height: 150px;
    }

    .qms-orbit-center-logo-only .qms-orbit-center-logo {
        width: 150px;
        height: 100px;
    }
}


/* ======================================================================
   ANNOUNCEMENT BOARD: THREE CARDS IN ONE ROW
   ====================================================================== */

.qms-announcements .qms-section-heading {
    justify-content: flex-start;
}

.qms-announcement-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}

.qms-announcement-card {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-items: start;
    gap: 12px;
    min-width: 0;
    min-height: 158px;
    padding: 16px;
    overflow: hidden;
    border-radius: var(--sankari-radius-lg);
}

.qms-announcement-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--sankari-radius);
}

.qms-announcement-card > div:nth-child(2) {
    min-width: 0;
}

.qms-announcement-title {
    display: -webkit-box;
    min-height: 42px;
    margin-bottom: 5px;
    overflow: hidden;
    font-size: 13px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.qms-announcement-summary {
    display: -webkit-box;
    min-height: 34px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.qms-announcement-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 10px;
}

.qms-announcement-arrow {
    position: absolute;
    inset-inline-end: 14px;
    bottom: 14px;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: var(--sankari-radius);
    color: var(--company-primary);
    background: var(--sankari-page);
}

.qms-empty-announcements {
    grid-column: 1 / -1;
}

@media (max-width: 1050px) {
    .qms-announcement-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .qms-announcement-list {
        grid-template-columns: 1fr;
    }

    .qms-announcement-card {
        min-height: 145px;
    }
}


/* ======================================================================
   ANNOUNCEMENT PLACEHOLDERS
   Keep exactly three announcement slots visible at all times.
   ====================================================================== */

.qms-announcement-placeholder {
    cursor: default;
    pointer-events: none;
    border-style: dashed;
    border-color: rgba(var(--company-primary-rgb), .12);
    background:
        linear-gradient(
            145deg,
            var(--sankari-surface),
            var(--sankari-page)
        );
    box-shadow: none;
    opacity: .72;
}

.qms-announcement-placeholder:hover {
    transform: none;
    border-color: rgba(var(--company-primary-rgb), .12);
    box-shadow: none;
}

.qms-announcement-placeholder .qms-announcement-icon {
    color: var(--sankari-taupe-deep);
    background: var(--sankari-page);
}

.qms-announcement-placeholder .qms-announcement-title {
    color: var(--sankari-charcoal-soft);
}

.qms-announcement-placeholder .qms-announcement-summary {
    color: var(--sankari-charcoal-soft);
}


/* ======================================================================
   DEPARTMENT ORBIT CARDS — TITLE + COUNT ON HOVER
   ====================================================================== */

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card .qms-card-title {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
    transition: transform .18s ease;
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card .qms-card-doc-count {
    position: absolute;
    inset-inline-start: auto;
    bottom: 10px;
    inset-inline-end: 50%;
    display: block;
    width: max-content;
    max-width: calc(100% - 14px);
    margin: 0;
    padding: 0;
    overflow: visible;
    color: var(--qms-muted);
    background: transparent;
    border: 0;
    box-shadow: none;
    font-size: 7.5px;
    line-height: 1.25;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 5px);
    transition:
        opacity .18s ease,
        visibility .18s ease,
        transform .18s ease;
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card:hover .qms-card-title,
.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card:focus-visible .qms-card-title {
    transform: translateY(-5px);
}

.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card:hover .qms-card-doc-count,
.qms-company-panel[data-company-panel="departments"]
.qms-grid.qms-orbit-nodes > .qms-card:focus-visible .qms-card-doc-count {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

/* ======================================================================
   RTL ALIGNMENT FIX
   Keep sidebar labels and section headings on the far right.
   ====================================================================== */

.qms-app .qms-sidebar .qms-sidebar-label {
    display: block;
    width: 100%;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 8px;
    padding-inline-end: 0;
    direction: rtl;
    text-align: start;
}

.qms-app .qms-section-heading {
    width: 100%;
    direction: rtl;
}

.qms-app .qms-section-heading > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
    margin-inline-start: 0;
    margin-inline-end: auto;
    direction: rtl;
    text-align: start;
}

.qms-app .qms-section-heading .qms-section-title,
.qms-app .qms-section-heading .qms-section-description {
    width: 100%;
    margin-inline-start: 0;
    text-align: start;
}


/* ======================================================================
   ANNOUNCEMENT CONTENT — RTL / RIGHT ALIGNED
   ====================================================================== */

.qms-announcement-list {
    direction: rtl;
}

.qms-announcement-card {
    direction: rtl;
    grid-template-columns: 48px minmax(0, 1fr);
    text-align: start;
}

.qms-announcement-card > div:nth-child(2),
.qms-announcement-title,
.qms-announcement-summary {
    text-align: start;
}

.qms-announcement-meta {
    direction: rtl;
    justify-content: flex-start;
}

.qms-announcement-placeholder {
    align-content: center;
}

.qms-announcement-placeholder .qms-announcement-title {
    min-height: auto;
    margin: 0;
}


/* ======================================================================
   TOOLBAR TABS SLOT
   ====================================================================== */

.qms-toolbar-tabs-slot {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
}

.qms-toolbar-tabs-slot:empty {
    display: none;
}

.qms-toolbar .qms-toolbar-tabs-slot .qms-company-tabs {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    margin: 0;
    white-space: nowrap;
}

.qms-toolbar-tabs-slot .qms-company-tab {
    min-height: 38px;
    padding: 7px 13px;
}

.qms-toolbar .qms-company-chip {
    flex: 0 0 auto;
}

@media (max-width: 760px) {
    .qms-toolbar {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .qms-toolbar .qms-search {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
        min-width: 0;
    }
}
