.ifqm-msme-portal {
      --ifqm-navy: #002347;
      --ifqm-navy-dark: #001A35;
      --ifqm-gold: #DDA754;
      --ifqm-gold-hover: #E5B262;
      --ifqm-blue-btn: #184271;
      --text-heading: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --bg-page: #F8FAFC;
      --bg-white: #FFFFFF;
      --border-subtle: #E2E8F0;
      --shadow-sm: 0 2px 4px rgba(0,0,0,0.04);
      --shadow-card: 0 4px 12px rgba(0,0,0,0.06);
      --shadow-hover: 0 10px 25px rgba(0,0,0,0.1);
    }
:where(.ifqm-msme-portal, .ifqm-msme-portal *) { box-sizing: border-box; margin: 0; padding: 0; }
:where(.ifqm-msme-portal) {
      font-family: 'Inter', sans-serif;
      background-color: var(--bg-page);
      color: var(--text-body);
      line-height: 1.5;
      -webkit-font-smoothing: antialiased;
    }
.hero-strip {
      background: linear-gradient(135deg, #001A35 0%, #002852 60%, #063A75 100%);
      color: #FFFFFF; padding: 40px 24px 44px;
    }
.hero-container { max-width: 1360px; margin: 0 auto; }
.breadcrumb-nav { font-size: 12px; color: #94A3B8; margin-bottom: 16px; display: flex; gap: 8px; }
.breadcrumb-nav a { color: #CBD5E1; text-decoration: none; }
.hero-tag-badge {
      display: inline-flex; align-items: center; gap: 6px; background: rgba(221,167,84,0.15);
      border: 1px solid rgba(221,167,84,0.3); color: #F3C37A; padding: 4px 12px; border-radius: 20px;
      font-size: 11.5px; font-weight: 700; text-transform: uppercase; margin-bottom: 12px;
    }
.hero-title { font-family: 'Outfit', sans-serif; font-size: 28px; font-weight: 700; margin-bottom: 12px; }
.hero-lead { font-size: 14px; color: #D1D5DB; max-width: 800px; line-height: 1.6; margin-bottom: 28px; }
.kpi-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.kpi-box { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; padding: 16px; }
.kpi-value { font-family: 'Outfit', sans-serif; font-size: 24px; font-weight: 800; color: var(--ifqm-gold); margin-bottom: 4px; }
.kpi-label { font-size: 11.5px; text-transform: uppercase; letter-spacing: 0.5px; color: #E2E8F0; font-weight: 600; }
.hero-search-row { margin-top: 28px; margin-bottom: 0 !important; }
.main-directory-area { max-width: 1360px; margin: -20px auto 60px; padding: 0 20px; position: relative; z-index: 10; }
.filter-card { background: var(--bg-white); border: 1px solid var(--border-subtle); border-radius: 12px; box-shadow: var(--shadow-card); padding: 20px 24px; margin-bottom: 24px; }
.search-row-wrap { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-bottom: 18px; }
.search-input-box { flex: 1 1 300px; position: relative; }
.search-input-box input { background: #FFFFFF; }
.search-input-box input { width: 100%; padding: 10px 16px 10px 40px; border: 1.5px solid var(--border-subtle); border-radius: 8px; font-size: 13.5px; outline: none; }
.search-input-box input:focus { border-color: var(--ifqm-navy); }
.search-svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 16px; color: #94A3B8; }
.view-switch-grp { display: inline-flex; background: #F1F5F9; border-radius: 8px; padding: 4px; gap: 4px; }
.btn-view-toggle { border: none; background: transparent; padding: 8px 16px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--text-muted); cursor: pointer; display: flex; gap: 6px; align-items: center; }
.btn-view-toggle.active { background: #FFFFFF; color: var(--ifqm-navy); box-shadow: var(--shadow-sm); }
.anchor-pills-label { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; display: block; }
.anchor-filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-pill { background: #F8FAFC; border: 1px solid var(--border-subtle); color: var(--text-heading); padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; cursor: pointer; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; justify-content: center; transition: all 0.2s; }
.anchor-tier-badge { display: inline-block; text-align: center; font-size: 8.5px; font-weight: 700; padding: 1px 6px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.anchor-tier-badge.tier-founding { background: #FDF0DC; color: #8A5A16; border: 1px solid #F0D8AE; }
.anchor-tier-badge.tier-lifetime { background: #E7EEFB; color: #1E429F; border: 1px solid #C3D4F5; }
.anchor-logo-with-tier { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.filter-pill:hover { border-color: var(--ifqm-navy); }
.filter-pill.active { background: var(--ifqm-navy); color: #FFFFFF; border-color: var(--ifqm-navy); }
.pill-count { background: rgba(0,35,71,0.08); padding: 2px 8px; border-radius: 12px; font-size: 11px; font-weight: 700; }
.filter-pill.active .pill-count { background: rgba(255,255,255,0.25); color: #FFF; }
.results-status-bar { display: flex; justify-content: space-between; margin-bottom: 20px; font-size: 13.5px; color: var(--text-muted); }
.cluster-card-container { background: var(--bg-white); border: 1px solid var(--border-subtle); border-radius: 12px; box-shadow: var(--shadow-card); margin-bottom: 32px; overflow: hidden; }
.cluster-banner-head { background: #F8FAFC; border-bottom: 1px solid var(--border-subtle); padding: 16px 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.cluster-brand-col { display: flex; align-items: center; gap: 14px; }
.anchor-logo-circle { width: 44px; height: 44px; border-radius: 8px; background: #FFF; border: 1px solid var(--border-subtle); display: flex; align-items: center; justify-content: center; padding: 4px; box-shadow: var(--shadow-sm); }
.anchor-name-block h3 { font-family: 'Outfit', sans-serif; font-size: 18px; font-weight: 700; color: var(--ifqm-navy); }
.anchor-name-block span { font-size: 12px; color: var(--text-muted); font-weight: 600; text-transform: uppercase; }
.cluster-meta-col { display: flex; gap: 10px; }
.counsellor-badge { background: #FEF3C7; border: 1px solid #FCD34D; color: #92400E; font-size: 12.5px; font-weight: 600; padding: 4px 12px; border-radius: 20px; display: flex; align-items: center; gap: 6px; }
.companies-count-tag { background: #E2E8F0; color: #334155; font-size: 12.5px; font-weight: 600; padding: 4px 12px; border-radius: 20px; }
.companies-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; padding: 24px; }
.company-item-box { border: 1px solid var(--border-subtle); border-radius: 10px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; transition: all 0.2s ease; }
.company-item-box:hover { border-color: #CBD5E1; box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.company-header-row { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 16px; }
.brand-logo-frame { 
      width: 56px; height: 56px; border-radius: 8px; background: #FFFFFF; border: 1px solid #E2E8F0; 
      display: flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 6px; 
      box-shadow: 0 2px 6px rgba(0,0,0,0.05); position: relative; 
    }
.brand-logo-frame img { max-width: 100%; max-height: 100%; object-fit: contain; }
.brand-logo-col { display: flex; flex-direction: column; align-items: center; gap: 6px; flex-shrink: 0; }
.membership-pill { font-size: 9px; font-weight: 700; padding: 2px 7px; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.membership-pill.tier-founding { background: #FDF0DC; color: #8A5A16; border: 1px solid #F0D8AE; }
.membership-pill.tier-lifetime { background: #E7EEFB; color: #1E429F; border: 1px solid #C3D4F5; }
.membership-pill.tier-member { background: #E7F6EC; color: #14713B; border: 1px solid #BFE6CC; }
.brand-monogram {
      width: 100%; height: 100%; border-radius: 6px; color: #FFFFFF; font-weight: 700; font-size: 14px; 
      display: flex; align-items: center; justify-content: center; text-transform: uppercase; letter-spacing: 0.5px;
    }
.company-info-area { flex: 1; }
.company-full-name { font-size: 14px; font-weight: 600; color: var(--text-heading); margin-bottom: 6px; line-height: 1.4; }
.company-location-tag { font-size: 12.5px; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }
.company-item-bottom { border-top: 1px solid #F1F5F9; padding-top: 12px; display: flex; justify-content: space-between; align-items: center; }
.company-web-link { color: var(--ifqm-navy); font-weight: 600; font-size: 12.5px; text-decoration: none; display: flex; align-items: center; gap: 6px; }
.company-web-link:hover { color: var(--ifqm-gold); text-decoration: underline; }
.member-verified-pill { color: #059669; font-weight: 500; font-size: 12px; display: flex; align-items: center; gap: 4px; }
.table-container { background: #FFFFFF; border: 1px solid var(--border-subtle); border-radius: 10px; overflow-x: auto; display: none; box-shadow: var(--shadow-card); }
.members-table { width: 100%; border-collapse: collapse; font-size: 13.5px; text-align: left; }
.members-table th { background: var(--ifqm-navy); color: #FFF; padding: 14px 20px; font-weight: 600; font-size: 12.5px; text-transform: uppercase; }
.members-table td { padding: 14px 20px; border-bottom: 1px solid var(--border-subtle); vertical-align: middle; }
.members-table tr:hover td { background: #F8FAFC; }
.members-table th.sortable-th { cursor: pointer; user-select: none; white-space: nowrap; }
.members-table th.sortable-th:hover { background: var(--ifqm-navy-dark); }
.members-table th.sortable-th .sort-arrow { display: inline-block; width: 10px; margin-left: 4px; opacity: 0.6; }
.members-table th.sortable-th.sort-active .sort-arrow { opacity: 1; }
.table-filter-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 20px; border-bottom: 1px solid var(--border-subtle); background: #F8FAFC; }
.table-filter-bar label { font-size: 13px; font-weight: 700; color: var(--text-heading); }
.table-filter-bar select {
      appearance: none; -webkit-appearance: none; background: #FFFFFF;
      border: 1px solid #CBD5E1; border-radius: 8px; padding: 8px 34px 8px 14px;
      font-size: 13.5px; font-weight: 600; color: var(--ifqm-navy); cursor: pointer;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23184271' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
      background-repeat: no-repeat; background-position: right 10px center; background-size: 16px;
    }
.table-filter-bar select:hover { border-color: var(--ifqm-navy); }
.table-filter-bar select:focus { outline: none; border-color: var(--ifqm-navy); box-shadow: 0 0 0 3px rgba(24,66,113,0.15); }
.btn-clear-table-filters { background: transparent; border: 1px solid #CBD5E1; border-radius: 8px; padding: 8px 14px; font-size: 13px; font-weight: 600; color: var(--text-muted); cursor: pointer; }
.btn-clear-table-filters:hover { border-color: var(--ifqm-navy); color: var(--ifqm-navy); }
.empty-search { background: #FFF; border: 1.5px dashed var(--border-subtle); border-radius: 12px; padding: 48px; text-align: center; display: none; }
.symposium-card { background: linear-gradient(135deg, #FFF8ED 0%, #FEF0D6 100%); border: 1px solid #FBD38D; border-radius: 12px; padding: 24px 32px; margin-top: 40px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.symposium-text h3 { font-family: 'Outfit', sans-serif; font-size: 20px; font-weight: 700; color: #7B341E; margin-bottom: 6px; }
.symposium-text p { font-size: 13.5px; color: #9C4221; max-width: 800px; }
.btn-symposium { background: #D97706; color: #FFF; padding: 10px 20px; border-radius: 8px; font-weight: 600; font-size: 13.5px; text-decoration: none; box-shadow: 0 4px 12px rgba(217,119,6,0.25); }
/* keeps the portal links looking like the original page even when the site applies global link styles */
.ifqm-msme-portal a { font-family: inherit; }
.ifqm-msme-portal a.btn-symposium { box-shadow: 0 4px 12px rgba(217,119,6,0.25); }