:root {
        --apple-blue: #6F5A47;
        --apple-blue-dark: #4B3B2F;
        --apple-text: #1d1d1f;
        --apple-muted: #6e6e73;
        --apple-border: rgba(0, 0, 0, .08);
        --apple-surface: rgba(255, 255, 255, .78);
        --apple-surface-strong: rgba(255, 255, 255, .92);
        --apple-bg: #f5f5f7;
        --apple-shadow: 0 18px 60px rgba(0, 0, 0, .08);
        --apple-shadow-soft: 0 8px 30px rgba(0, 0, 0, .06);
        --apple-radius-xl: 28px;
        --apple-radius-lg: 22px;
        --apple-radius-md: 16px;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        background:
            radial-gradient(circle at top right, rgba(111,90,71,.08), transparent 26%),
            radial-gradient(circle at bottom left, rgba(139,115,85,.07), transparent 24%),
            var(--apple-bg);
    }

    .qms-app,
    .qms-app * {
        box-sizing: border-box;
        font-family: "Cairo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    }

    .qms-app {
        direction: rtl;
        max-width: 1480px;
        margin: 0 auto;
        padding: 22px 18px 56px;
        color: var(--apple-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 rgba(255,255,255,.8);
        border-radius: 18px;
        background: rgba(255,255,255,.72);
        backdrop-filter: saturate(180%) blur(24px);
        -webkit-backdrop-filter: saturate(180%) blur(24px);
        box-shadow: 0 8px 30px rgba(0,0,0,.05);
    }

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

    .qms-back:hover {
        background: rgba(111,90,71,.09);
        color: var(--apple-blue) !important;
        transform: translateX(2px);
    }

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

    .qms-session::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #30d158;
        box-shadow: 0 0 0 4px rgba(48,209,88,.12);
    }

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

    .qms-sidebar {
        position: relative;
        padding: 26px 18px;
        border-left: 1px solid rgba(0,0,0,.06);
        background:
            linear-gradient(180deg, rgba(255,255,255,.90), rgba(248,248,250,.84));
        backdrop-filter: blur(30px);
        -webkit-backdrop-filter: blur(30px);
        color: var(--apple-text);
    }

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

    .qms-brand-icon {
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        border-radius: 15px;
        color: #fff;
        background: linear-gradient(145deg, #9B8367, #6F5A47);
        box-shadow: 0 10px 24px rgba(111,90,71,.24);
    }

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

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

    .qms-sidebar-label {
        margin: 0 8px 8px;
        color: #8e8e93;
        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: 12px;
        color: #3a3a3c;
        background: transparent;
        text-align: right;
        cursor: pointer;
        font-size: 11px;
        font-weight: 700;
        transition: .18s ease;
    }

    .qms-side-button:hover {
        background: rgba(0,0,0,.04);
    }

    .qms-side-button.active {
        color: var(--apple-blue);
        background: rgba(111,90,71,.10);
    }

    .qms-side-count {
        margin-right: auto;
        min-width: 24px;
        padding: 2px 7px;
        border-radius: 999px;
        color: #6e6e73;
        background: rgba(0,0,0,.05);
        font-size: 9px;
        text-align: center;
    }

    .qms-side-button.active .qms-side-count {
        color: var(--apple-blue);
        background: rgba(111,90,71,.10);
    }

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

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

    .qms-company-list::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background: rgba(0,0,0,.14);
    }

    .qms-sidebar-help {
        position: absolute;
        right: 18px;
        left: 18px;
        bottom: 20px;
        padding: 13px;
        border: 1px solid rgba(0,0,0,.06);
        border-radius: 14px;
        color: var(--apple-muted);
        background: rgba(255,255,255,.70);
        font-size: 9px;
        line-height: 1.8;
        box-shadow: var(--apple-shadow-soft);
    }

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

    .qms-main-header {
        --header-accent: #6F5A47;
        --header-accent-dark: #74b9ff;
        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 rgba(255,255,255,.7);
        border-radius: 28px;
        color: #fff;
        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;
        left: -90px;
        bottom: -140px;
    }

    .qms-main-header::after {
        width: 120px;
        height: 120px;
        left: 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: rgba(255,255,255,.76);
        font-size: 10px;
        font-weight: 600;
    }

    .qms-header-breadcrumb strong {
        color: #fff;
        font-weight: 800;
    }

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

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

    .qms-page-subtitle {
        max-width: 680px;
        margin: 0;
        color: rgba(255,255,255,.80);
        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: 999px;
        color: #fff;
        background: rgba(255,255,255,.14);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        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: 17px;
        background: rgba(255,255,255,.15);
        text-align: center;
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .qms-header-stat-number {
        display: block;
        color: #fff;
        font-size: 27px;
        line-height: 1.1;
        font-weight: 800;
    }

    .qms-header-stat-label {
        display: block;
        margin-top: 4px;
        color: rgba(255,255,255,.8);
        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: 24px;
        color: #fff;
        background: rgba(255,255,255,.16);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        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(0, 0, 0, .06);
        border-radius: 16px;
        background: rgba(250, 248, 245, .94);
        box-shadow:
            0 9px 28px rgba(49, 39, 31, .10),
            0 1px 0 rgba(255, 255, 255, .78) inset;
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
    }

    .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%;
        right: 15px;
        transform: translateY(-50%);
        pointer-events: none;
    }

    .qms-search input,
    .qms-mobile-company-select {
        width: 100%;
        height: 46px;
        padding: 10px 44px 10px 14px;
        border: 1px solid rgba(0,0,0,.06);
        border-radius: 14px;
        outline: none;
        color: var(--apple-text);
        background: rgba(255,255,255,.78);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        font-size: 11px;
        box-shadow: var(--apple-shadow-soft);
        transition: .2s ease;
    }

    .qms-search input:focus {
        border-color: rgba(111,90,71,.35);
        box-shadow: 0 0 0 4px rgba(111,90,71,.10);
    }

    .qms-company-chip {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        min-height: 46px;
        padding: 9px 13px;
        border: 1px solid rgba(0,0,0,.06);
        border-radius: 14px;
        color: #3a3a3c;
        background: rgba(255,255,255,.78);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        font-size: 10px;
        font-weight: 700;
        white-space: nowrap;
        box-shadow: var(--apple-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 rgba(255,255,255,.75);
        border-radius: 22px;
        background: rgba(255,255,255,.72);
        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);
        box-shadow: var(--apple-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(--apple-text);
        font-size: 17px;
        font-weight: 800;
    }

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

    .qms-section-count {
        min-width: 92px;
        padding: 8px 11px;
        border: 0;
        border-radius: 999px;
        color: var(--apple-blue);
        background: rgba(111,90,71,.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(0,0,0,.05);
        border-radius: 18px;
        color: inherit !important;
        background: rgba(255,255,255,.90);
        text-decoration: none !important;
        box-shadow: 0 6px 24px rgba(0,0,0,.04);
        transition: .22s ease;
    }

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

    .qms-card:hover {
        transform: translateY(-5px) scale(1.01);
        border-color: rgba(111,90,71,.16);
        box-shadow: 0 18px 40px rgba(0,0,0,.08);
    }

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

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

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

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

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

    .qms-card-doc-count {
        position: absolute;
        top: 16px;
        left: 16px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin: 0;
        padding: 5px 10px;
        border-radius: 999px;
        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(--apple-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 rgba(255,255,255,.7);
        border-radius: 24px;
        color: #fff;
        background:
            radial-gradient(circle at 20% 20%, rgba(255,255,255,.2), transparent 24%),
            linear-gradient(135deg, #B89D7A 0%, #6F5A47 65%, #4B3B2F 100%);
        box-shadow: 0 18px 50px rgba(111,90,71,.18);
    }

    .qms-general-title {
        position: relative;
        z-index: 1;
        margin: 0 0 6px;
        color: #473314;
        font-size: 22px;
        font-weight: 800;
    }

    .qms-general-text {
        position: relative;
        z-index: 1;
        max-width: 650px;
        margin: 0;
        color: rgba(255,255,255,.82);
        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: 13px;
        color: #fff !important;
        background: rgba(255,255,255,.15);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        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(0,0,0,.05);
        border-radius: 17px;
        background: rgba(255,255,255,.88);
        color: inherit !important;
        text-decoration: none !important;
        transition: .2s ease;
    }

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

    .qms-announcement-icon {
        display: grid;
        place-items: center;
        width: 54px;
        height: 54px;
        border-radius: 16px;
        color: #A47D4F;
        background: rgba(164,125,79,.10);
    }

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

    .qms-announcement-summary {
        margin: 0;
        color: var(--apple-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: 999px;
        font-size: 9px;
        font-weight: 800;
    }

    .qms-badge-primary {
        color: var(--apple-blue);
        background: rgba(111,90,71,.09);
    }

    .qms-badge-warning {
        color: #8A5E2C;
        background: rgba(164,125,79,.11);
    }

    .qms-badge-neutral {
        color: #6e6e73;
        background: rgba(0,0,0,.05);
    }

    .qms-announcement-arrow {
        display: grid;
        place-items: center;
        width: 34px;
        height: 34px;
        border-radius: 11px;
        color: var(--apple-blue);
        background: rgba(111,90,71,.09);
    }

    .qms-company-tabs {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 4px;
        margin-bottom: 15px;
        padding: 5px;
        border: 1px solid rgba(0,0,0,.05);
        border-radius: 14px;
        background: rgba(118,118,128,.10);
    }

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

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

    .qms-company-tab.active {
        color: var(--apple-text);
        background: rgba(255,255,255,.92);
        box-shadow: 0 2px 8px rgba(0,0,0,.08);
    }

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

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

    .qms-form-card .qms-card-icon {
        color: #7D745F;
        background: rgba(125,116,95,.10);
    }

    .qms-form-card:hover .qms-card-icon {
        color: #fff;
        background: #7D745F;
    }

    .qms-empty-search,
    .qms-empty-announcements,
    .qms-alert {
        grid-column: 1 / -1;
        padding: 28px;
        border: 1px dashed rgba(0,0,0,.10);
        border-radius: 16px;
        color: var(--apple-muted);
        background: rgba(255,255,255,.62);
        text-align: center;
        font-size: 11px;
        font-weight: 700;
    }

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

    .qms-alert-warning {
        color: #9a6700;
        background: rgba(255,204,0,.10);
    }

    .qms-alert-danger {
        color: #d70015;
        background: rgba(255,59,48,.09);
    }

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

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

        .qms-sidebar {
            padding: 18px;
            border-left: 0;
            border-bottom: 1px solid rgba(0,0,0,.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: 22px;
        }

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

        .qms-header-icon {
            width: 58px;
            height: 58px;
            flex-basis: 58px;
            border-radius: 18px;
        }

        .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.
       ====================================================================== */

    :root {
        --sankari-950: #332B25;
        --sankari-900: #41372F;
        --sankari-800: #514438;
        --sankari-700: #635343;
        --sankari-600: #786551;
        --sankari-500: #927A61;
        --sankari-400: #AF9679;
        --sankari-300: #CDBAA3;
        --sankari-200: #E3D7C9;
        --sankari-100: #F1EBE4;
        --sankari-50: #FAF8F5;
        --sankari-white: #FFFFFF;

        --apple-blue: var(--sankari-700);
        --apple-blue-dark: var(--sankari-900);
        --apple-text: #332F2B;
        --apple-muted: #7A7169;
        --apple-border: rgba(99, 83, 67, .14);
        --apple-surface: rgba(255, 255, 255, .84);
        --apple-surface-strong: rgba(255, 255, 255, .96);
        --apple-bg: #F7F3EE;
        --apple-shadow: 0 24px 70px rgba(65, 55, 47, .11);
        --apple-shadow-soft: 0 10px 32px rgba(65, 55, 47, .075);
    }

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

    body {
        background:
            radial-gradient(circle at 100% 0%, rgba(175, 150, 121, .18), transparent 31%),
            radial-gradient(circle at 0% 100%, rgba(99, 83, 67, .10), transparent 34%),
            linear-gradient(180deg, #FCFBF9 0%, #F4EFE9 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(99,83,67,.12);
        background: rgba(255,255,255,.88);
        box-shadow: 0 10px 36px rgba(65,55,47,.08);
    }

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

    .qms-back:hover {
        color: #fff !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: 5px 10px 5px 14px;
        border: 1px solid rgba(99,83,67,.11);
        border-radius: 15px;
        background: linear-gradient(135deg, rgba(250,248,245,.98), rgba(241,235,228,.82));
    }

    .qms-user-avatar {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        overflow: hidden;
        border: 2px solid #fff;
        border-radius: 50%;
        color: var(--sankari-700);
        background: var(--sankari-200);
        box-shadow: 0 5px 14px rgba(65,55,47,.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(--apple-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: #7F966E;
        box-shadow: 0 0 0 4px rgba(127,150,110,.14);
    }

    .qms-shell {
        border-color: rgba(99,83,67,.12);
        background: rgba(255,255,255,.62);
        box-shadow: var(--apple-shadow);
    }

    .qms-sidebar {
        border-left-color: rgba(99,83,67,.12);
        background:
            linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,241,235,.96));
    }

    .qms-brand {
        display: block;
        padding: 4px 8px 22px;
        text-align: center;
        border-bottom-color: rgba(99,83,67,.12);
    }

    

    .qms-brand-system {
        padding-top: 12px;
        border-top: 1px solid rgba(99,83,67,.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: #91867C;
    }

    .qms-side-button {
        color: #554D46;
        border: 1px solid transparent;
    }

    .qms-side-button:hover {
        color: var(--sankari-800);
        border-color: rgba(99,83,67,.08);
        background: rgba(227,215,201,.50);
    }

    .qms-side-button.active {
        color: #fff;
        border-color: rgba(255,255,255,.22);
        background: linear-gradient(135deg, var(--sankari-800), var(--sankari-500));
        box-shadow: 0 10px 24px rgba(65,55,47,.19);
    }

    .qms-side-count {
        color: var(--sankari-700);
        background: rgba(99,83,67,.08);
    }

    .qms-side-button.active .qms-side-count {
        color: #fff;
        background: rgba(255,255,255,.17);
    }

    .qms-company-list::-webkit-scrollbar-thumb {
        background: rgba(99,83,67,.25);
    }

    .qms-sidebar-help {
        border-color: rgba(99,83,67,.12);
        color: var(--sankari-700);
        background: rgba(255,255,255,.78);
    }

    .qms-main {
        padding: 28px;
    }

    .qms-main-header {
        --header-accent: var(--sankari-700);
        --header-accent-dark: var(--sankari-400);
        min-height: 330px;
        display: grid;
        place-items: center;
        padding: 36px 150px 34px;
        border: 1px solid rgba(99,83,67,.13);
        color: var(--sankari-900);
        background:
            radial-gradient(circle at 50% -30%, rgba(255,255,255,.96), transparent 58%),
            linear-gradient(135deg, #F8F4EF 0%, #FFFEFC 48%, #EEE4D8 100%);
        box-shadow: 0 22px 58px rgba(65,55,47,.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 {
        right: -65px;
        top: 28px;
        transform: rotate(90deg);
    }

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

    .qms-header-breadcrumb {
        position: absolute;
        top: 19px;
        right: 25px;
        margin: 0;
        color: rgba(65,55,47,.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(99,83,67,.11);
        border-radius: 17px;
        background: rgba(255,255,255,.58);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .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(--apple-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(99,83,67,.12);
        color: var(--sankari-700);
        background: rgba(255,255,255,.65);
    }

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

    .qms-header-stat,
    .qms-header-icon {
        border-color: rgba(99,83,67,.13);
        color: var(--sankari-700);
        background: rgba(255,255,255,.68);
        box-shadow: 0 9px 25px rgba(65,55,47,.08);
    }

    .qms-header-icon {
        width: 56px;
        height: 56px;
        flex-basis: 56px;
        border-radius: 18px;
    }

    .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(99,83,67,.12);
        color: var(--sankari-900);
        background: rgba(255,255,255,.86);
    }

    .qms-search input:focus {
        border-color: rgba(146,122,97,.55);
        box-shadow: 0 0 0 4px rgba(175,150,121,.16);
    }

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

    .qms-section-card {
        border-color: rgba(99,83,67,.12);
        background: rgba(255,255,255,.80);
    }

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

    .qms-section-count {
        color: var(--sankari-700);
        background: rgba(175,150,121,.18);
    }

    .qms-card {
        border-color: rgba(99,83,67,.09);
        background: rgba(255,255,255,.93);
    }

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

    .qms-card:hover {
        border-color: rgba(146,122,97,.30);
        box-shadow: 0 18px 42px rgba(65,55,47,.13);
    }

    .qms-card-icon,
    .qms-form-card .qms-card-icon {
        color: var(--sankari-700);
        background: rgba(175,150,121,.17);
    }

    .qms-card:hover .qms-card-icon,
    .qms-form-card:hover .qms-card-icon {
        color: #fff;
        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(99,83,67,.12);
        color: var(--sankari-900);
        background:
            radial-gradient(circle at 18% 20%, rgba(255,255,255,.70), transparent 28%),
            linear-gradient(135deg, var(--sankari-800) 0%, var(--sankari-500) 58%, var(--sankari-300) 100%);
        box-shadow: 0 18px 48px rgba(65,55,47,.17);
    }

    .qms-general-title,
    .qms-general-link {
        color: #2d1313 !important;
    }

    .qms-general-text {
        color: rgba(255,255,255,.82);
    }

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

    .qms-announcement-card {
        border-color: rgba(99,83,67,.10);
        background: rgba(255,255,255,.92);
    }

    .qms-announcement-icon {
        color: #9A7145;
        background: rgba(175,150,121,.18);
    }

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

    .qms-badge-primary {
        color: var(--sankari-700);
        background: rgba(175,150,121,.18);
    }

    .qms-badge-warning {
        color: #835B31;
        background: rgba(184,157,122,.22);
    }

    .qms-announcement-arrow {
        color: var(--sankari-700);
        background: rgba(175,150,121,.18);
    }

    .qms-company-tabs {
        border-color: rgba(99,83,67,.10);
        background: rgba(99,83,67,.08);
    }

    .qms-company-tab.active {
        color: var(--sankari-900);
        background: rgba(255,255,255,.94);
    }

    .qms-empty-search,
    .qms-empty-announcements,
    .qms-alert {
        border-color: rgba(99,83,67,.18);
        background: rgba(255,255,255,.68);
    }

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

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

        .qms-main-header {
            padding-right: 90px;
            padding-left: 115px;
        }
    }

    @media (max-width: 900px) {
        .qms-sidebar {
            border-bottom-color: rgba(99,83,67,.12);
        }

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

        

        .qms-brand-system {
            flex: 1;
            padding-top: 0;
            padding-right: 15px;
            border-top: 0;
            border-right: 1px solid rgba(99,83,67,.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;
            right: 18px;
            left: 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-right: 0;
            border-top: 1px solid rgba(99,83,67,.10);
        }
    }


    

    .qms-app {
        --company-primary: #6F5A47;
        --company-secondary: #B89D7A;
        --company-accent: #D8C7B2;
        --company-soft: #F5EFE8;
        --company-ink: #3F332A;
        --company-primary-rgb: 111, 90, 71;
        --company-secondary-rgb: 184, 157, 122;
        --company-accent-rgb: 216, 199, 178;
    }

    .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(42, 34, 28, .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: #fff !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,
                rgba(255,255,255,.98),
                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-left-color: rgba(var(--company-primary-rgb), .13);
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.99),
                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: 999px;
        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: color-mix(in srgb, var(--company-primary) 70%, #777);
    }

    .qms-side-button {
        color: color-mix(in srgb, var(--company-ink) 84%, #777);
        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: #fff;
        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: #fff;
        background: rgba(255,255,255,.18);
    }

    


    

    

    .qms-main-header {
        --header-accent: var(--company-primary);
        --header-accent-dark: var(--company-secondary);
        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,
                color-mix(in srgb, var(--company-primary) 84%, #151515) 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: rgba(255,255,255,.72);
    }

    .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: 14px;
        background: rgba(255,255,255,.93);
    }

    .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,
                rgba(255,255,255,.94),
                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: #fff;
        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,
                color-mix(in srgb, var(--company-primary) 86%, #171717),
                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: color-mix(in srgb, var(--company-primary) 70%, #777);
    }

    .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: rgba(255,255,255,.75);
        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: 24px 235px 24px 115px;
        border: 1px solid rgba(var(--company-primary-rgb), .14);
        border-radius: 24px;
        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,
                rgba(255,255,255,.99) 0%,
                color-mix(in srgb, var(--company-soft) 64%, #ffffff) 58%,
                rgba(255,255,255,.96) 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;
        right: 20px;
        margin: 0;
        color: color-mix(in srgb, var(--company-ink) 56%, #ffffff);
        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: color-mix(in srgb, var(--company-ink) 66%, #ffffff);
        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: 14px;
        background: rgba(255,255,255,.78);
        box-shadow: 0 6px 18px rgba(var(--company-primary-rgb), .06);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .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: color-mix(in srgb, var(--company-ink) 63%, #ffffff);
        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: rgba(255,255,255,.76);
        font-size: 8px;
    }

    .qms-header-side {
        position: absolute;
        z-index: 4;
        right: 20px;
        left: 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: rgba(255,255,255,.80);
        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: color-mix(in srgb, var(--company-ink) 64%, #ffffff);
        font-size: 8px;
    }

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

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

        

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

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

        

        .qms-header-side {
            right: 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;
            right: 14px;
            left: 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: 21px;
        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,
                #ffffff 0%,
                color-mix(in srgb, var(--company-soft) 78%, #ffffff) 54%,
                #ffffff 100%
            );
        border-color: rgba(var(--company-primary-rgb), .15);
        box-shadow:
            0 11px 28px rgba(var(--company-primary-rgb), .085),
            inset 0 1px 0 rgba(255,255,255,.96);
    }

    


    
    

    

    

    

    

    

    .qms-header-copy {
        position: relative;
        top: auto;
        left: 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: color-mix(in srgb, var(--company-ink) 64%, #ffffff);
        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: #fff;
    }

    .qms-current-view-card {
        width: min(480px, 100%);
        margin: 9px auto 0;
        padding: 7px 12px;
        border-color: rgba(var(--company-primary-rgb), .11);
        background: rgba(255,255,255,.82);
        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: color-mix(in srgb, var(--company-soft) 42%, #ffffff);
    }

    .qms-header-side {
        right: 16px;
        bottom: 15px;
    }

    .qms-header-stat {
        min-width: 70px;
        padding: 7px 8px;
        border-radius: 13px;
        border-color: rgba(var(--company-primary-rgb), .12);
        background: #fff;
        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: color-mix(in srgb, var(--company-ink) 64%, #ffffff);
        font-size: 7.6px;
    }

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

    

    

    

    

    .qms-brand-context {
        margin-top: 7px;
        color: var(--company-ink);
        background: color-mix(in srgb, var(--company-soft) 64%, #ffffff);
    }

    .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,
                color-mix(in srgb, var(--company-soft) 84%, #ffffff),
                #ffffff
            );
        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,
                #ffffff,
                color-mix(in srgb, var(--company-soft) 70%, #ffffff)
            );
        box-shadow: 0 10px 30px rgba(var(--company-primary-rgb), .08);
    }

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

    .qms-general-text {
        color: color-mix(in srgb, var(--company-ink) 66%, #ffffff);
    }

    .qms-general-link {
        color: #fff !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: color-mix(in srgb, var(--company-soft) 80%, #ffffff);
        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%;
        left: 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;
        left: 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%;
        left: 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%
            ),
            rgba(255,255,255,.97);
        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: 16px;
        color: #fff;
        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(--apple-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: 10px;
        color: #fff !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: #fff !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: 15px;
        color: var(--company-ink) !important;
        background: rgba(255,255,255,.97);
        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: color-mix(in srgb, var(--company-soft) 54%, #ffffff);
        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: #fff !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;
        right: 50%;
        display: grid;
        place-items: center;
        width: 23px;
        height: 23px;
        margin: 0;
        border: 0;
        border-radius: 7px;
        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: #fff;
        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;
        right: 6px;
        bottom: 4px;
        left: 6px;
        display: block;
        min-width: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
        border-radius: 0;
        color: var(--apple-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: rgba(255,255,255,.82);
    }

    .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%;
        left: 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(--apple-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;
            left: auto;
            width: min(250px, 100%);
            aspect-ratio: auto;
            margin: 0 auto 14px;
            border-radius: 20px;
            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;
            left: 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;
            left: 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: 20px;
    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,
            #ffffff 0%,
            color-mix(in srgb, var(--company-soft) 72%, #ffffff) 52%,
            #ffffff 100%
        );
    box-shadow:
        0 10px 28px rgba(var(--company-primary-rgb), .08),
        inset 0 1px 0 rgba(255,255,255,.96);
}


.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: color-mix(in srgb, var(--company-ink) 64%, #ffffff);
    font-size: 10px;
    line-height: 1.8;
    font-weight: 500;
}

.qms-header-breadcrumb {
    position: absolute;
    top: 16px;
    right: 20px;
    left: auto;
    margin: 0;
    color: color-mix(in srgb, var(--company-ink) 55%, #ffffff);
    font-size: 8.5px;
}

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

.qms-header-side {
    position: absolute;
    top: 50%;
    right: auto;
    left: 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: 14px;
    background: rgba(255,255,255,.88);
    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: color-mix(in srgb, var(--company-ink) 62%, #ffffff);
    font-size: 7.8px;
}

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

    .qms-header-side {
        left: 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;
        right: 14px;
        left: 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: 16px;
    background:
        radial-gradient(
            circle at 50% 12%,
            rgba(var(--company-accent-rgb), .22),
            transparent 70%
        ),
        #ffffff;
    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: 20px;
    color: var(--company-primary);
    background:
        linear-gradient(
            145deg,
            color-mix(in srgb, var(--company-soft) 78%, #ffffff),
            #ffffff
        );
    box-shadow:
        0 9px 24px rgba(var(--company-primary-rgb), .12),
        inset 0 1px 0 rgba(255,255,255,.95);
    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: 11px;
    color: var(--company-primary);
    background:
        linear-gradient(
            145deg,
            rgba(var(--company-primary-rgb), .07),
            #ffffff
        );
    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: #ffffff;
    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: 17px;
    }

    .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: #ffffff;
}

.qms-side-company-icon[data-visual-type="image"] {
    padding: 3px;
    color: inherit;
    background: #ffffff;
}

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

/* ======================================================================
   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: 22px;
}

.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: 19px;
    }

    .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: 28px 34px 28px 200px;
}

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

.qms-header-breadcrumb {
    top: 18px;
    right: 24px;
    left: 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%;
    left: 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: 24px;
    color: var(--company-primary);
    background:
        linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
    box-shadow:
        0 12px 28px rgba(var(--company-primary-rgb), .10),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.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: color-mix(in srgb, var(--company-ink) 55%, #ffffff);
    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: 18px;
}

.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: 13px;
}

.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: 18px;
    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: 8px;
}

.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: 18px;
}

.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: 12px;
    font-size: 9px;
}

@media (max-width: 1100px) {
    .qms-main-header {
        min-height: 196px;
        padding: 26px 26px 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 {
        left: 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: 20px 18px 20px 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 {
        left: 14px;
        width: 112px;
    }

    .qms-header-brand-visual {
        width: 86px;
        height: 86px;
        border-radius: 20px;
    }

    .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;
        right: 12px;
    }

    .qms-header-brand {
        position: relative;
        top: auto;
        left: 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;
    right: 22px;
    left: 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-right: 12px;
        padding-left: 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;
        right: 0;
        bottom: 0;
        left: 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;
        right: 20px;
        bottom: auto;
        left: 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: 17px;
    color: var(--company-primary);
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.99),
            color-mix(in srgb, var(--company-soft) 42%, #ffffff)
        );
    box-shadow:
        0 8px 20px rgba(var(--company-primary-rgb), .085),
        inset 0 1px 0 rgba(255,255,255,.96);
}

.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: 18px;
    box-shadow:
        0 9px 24px rgba(var(--company-primary-rgb), .09),
        inset 0 1px 0 rgba(255,255,255,.92);
}

.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: 9px;
}

.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: 20px;
    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: 18px;
}

.qms-announcement-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
}

.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;
    left: 14px;
    bottom: 14px;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    color: var(--company-primary);
    background: color-mix(
        in srgb,
        var(--company-soft) 78%,
        #ffffff
    );
}

.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,
            rgba(255,255,255,.76),
            color-mix(in srgb, var(--company-soft) 40%, #ffffff)
        );
    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: color-mix(
        in srgb,
        var(--company-primary) 58%,
        #ffffff
    );
    background: color-mix(
        in srgb,
        var(--company-soft) 76%,
        #ffffff
    );
}

.qms-announcement-placeholder .qms-announcement-title {
    color: color-mix(
        in srgb,
        var(--company-ink) 62%,
        #ffffff
    );
}

.qms-announcement-placeholder .qms-announcement-summary {
    color: color-mix(
        in srgb,
        var(--company-ink) 45%,
        #ffffff
    );
}


/* ======================================================================
   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;
    right: auto;
    bottom: 10px;
    left: 50%;
    display: block;
    width: max-content;
    max-width: calc(100% - 14px);
    margin: 0;
    padding: 0;
    overflow: visible;
    color: var(--apple-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-right: 0;
    margin-left: 0;
    padding-right: 8px;
    padding-left: 0;
    direction: rtl;
    text-align: right;
}

.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-right: 0;
    margin-left: auto;
    direction: rtl;
    text-align: right;
}

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


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

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

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

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

.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;
    }
}
