:root {
    --red: #EF3838;
    --red-hover: #D92D2D;
    --navy: #0A1329;
    --hero: #0A1938;
    --text: #1E293B;
    --muted: #64748B;
    --line: #E5E7EB;
    --bg: #F8FAFC;
}

body {
    margin: 0;
    padding-top: 0;
    font-family: Inter, sans-serif;
    background: var(--bg);
    color: var(--text);
    font-size: 14px;
    line-height: 1.5;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }

.portal-top {
    background: var(--navy);
    color: #fff;
    font-size: 12px;
    padding: 8px 16px;
    border-bottom: 1px solid #1e293b;
}
.portal-top-inner, .portal-nav-inner, .portal-wrap {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 16px;
}
.portal-top-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 0;
}
.portal-live { display: flex; align-items: center; gap: 8px; color: #cbd5e1; font-weight: 500; }
.portal-live strong { color: #fff; }
.portal-dot {
    width: 8px; height: 8px; border-radius: 50%; background: var(--red);
    box-shadow: 0 0 0 0 rgba(239, 56, 56, .6);
    animation: portal-pulse 1.6s infinite;
}
@keyframes portal-pulse {
    70% { box-shadow: 0 0 0 6px rgba(239, 56, 56, 0); }
    100% { box-shadow: 0 0 0 0 rgba(239, 56, 56, 0); }
}
.portal-top-actions { display: flex; align-items: center; gap: 16px; }
.portal-login {
    background: transparent; border: 0; color: #cbd5e1; font-size: 12px;
    display: inline-flex; align-items: center; gap: 6px; text-decoration: none; white-space: nowrap;
}
.portal-login:hover { color: #fff; }

.portal-nav {
    background: #fff; border-bottom: 1px solid #e2e8f0;
    position: sticky; top: 0; z-index: 50;
}
.portal-nav-inner { height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.portal-nav-tools { display: flex; align-items: center; gap: 10px; }
.portal-menu-btn {
    display: none; width: 40px; height: 40px; padding: 10px 8px; border: 1px solid #e2e8f0; border-radius: 8px;
    background: #fff; flex-direction: column; justify-content: center; gap: 5px; flex: none;
}
.portal-menu-btn span {
    display: block; height: 2px; width: 100%; background: #0f172a; border-radius: 2px;
    transition: transform .3s ease, opacity .3s ease;
    transform-origin: center;
}
.portal-menu-btn.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.portal-menu-btn.is-open span:nth-child(2) { opacity: 0; }
.portal-menu-btn.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.hb-overlay {
    position: fixed; inset: 0; background: rgba(15, 23, 42, .45); z-index: 1199;
    opacity: 0; transition: opacity .3s ease;
}
.hb-overlay.is-open { opacity: 1; }
.hb-sidebar {
    position: fixed; top: 0; right: 0; z-index: 1200; width: 320px; max-width: 88vw; height: 100%;
    background: #fff; display: flex; flex-direction: column; overflow: hidden;
    box-shadow: -8px 0 24px rgba(15, 23, 42, .16);
    transform: translateX(100%); transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}
.hb-sidebar.is-open { transform: translateX(0); }
.hb-head {
    display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 16px;
    border-bottom: 1px solid #e2e8f0; flex: none;
}
.hb-close {
    width: 36px; height: 36px; border: 0; border-radius: 8px; background: transparent;
    color: #0f172a; font-size: 28px; line-height: 1;
}
.hb-close:hover { background: #f8fafc; }
.hb-cta-wrap { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 10px; flex: none; }
.hb-cta {
    display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
    padding: 12px 10px; border-radius: 8px; background: #E51937; color: #fff; font-size: 14px; font-weight: 700;
}
.hb-cta:hover { background: #C80F2A; color: #fff; }
.hb-cta.secondary { background: #fff; color: #0f172a; border: 1px solid #e2e8f0; }
.hb-cta.secondary:hover { background: #f8fafc; color: #0f172a; }
.hb-body { overflow-y: auto; flex: 1; }
.hb-section-label {
    padding: 10px 16px 6px; font-size: 10px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: #94a3b8; background: #f8fafc; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0;
}
.hb-link {
    display: flex; align-items: center; height: 52px; padding: 0 16px; border-bottom: 1px solid #f1f5f9;
    color: #0f172a; font-size: 15px; font-weight: 500;
}
.hb-link:hover, .hb-link.active { background: #fef2f2; color: #E51937; }
body.hb-open { overflow: hidden; }
.portal-logo {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -0.4px;
    line-height: 0;
}
.portal-logo img {
    display: block;
    height: 36px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}
.portal-logo .red { color: var(--red); }
.portal-logo .dark { color: #0f172a; }
.portal-footer .portal-logo img,
.portal-logo-light img {
    height: 40px;
    max-width: 200px;
}
.portal-links { display: flex; align-items: center; gap: 22px; font-size: 14px; font-weight: 500; color: #475569; }
.portal-links a { position: relative; color: #475569; }
.portal-links a:hover { color: var(--red); }
.portal-links a.active { color: var(--red); font-weight: 600; }
.portal-links a.active:after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -22px; height: 2px; background: var(--red);
}
.portal-register {
    background: var(--red); color: #fff; font-size: 14px; font-weight: 600;
    padding: 10px 20px; border-radius: 6px; display: inline-flex; align-items: center; gap: 8px;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
}
.portal-register:hover { background: var(--red-hover); }

.portal-hero {
    background-image: url('../images/homepageBanner.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    /* Keep country dropdown visible (was clipped by overflow:hidden) */
    overflow-x: clip;
    overflow-y: visible;
}
.portal-hero-ring, .portal-hero-ring-2, .portal-hero-glow, .portal-map {
    position: absolute; pointer-events: none;
}
.portal-hero-glow {
    right: -5%; top: 50%; transform: translateY(-50%);
    width: 580px; height: 580px; border-radius: 50%;
    background: radial-gradient(circle, rgba(29, 78, 216, .15) 0%, rgba(15, 23, 42, 0) 70%);
    border: 1px dashed rgba(255,255,255,.15);
}
.portal-hero-ring {
    right: -2%; top: 50%; transform: translateY(-50%) rotate(-15deg);
    width: 620px; height: 280px; border-radius: 50%; border: 1px solid rgba(239, 56, 56, .25);
}
.portal-hero-ring-2 {
    right: 2%; top: 48%; transform: translateY(-50%) rotate(25deg);
    width: 540px; height: 540px; border-radius: 50%; border: 1px solid rgba(255,255,255,.12);
}
.portal-map { right: 4%; top: 50%; transform: translateY(-50%); width: 480px; opacity: .85; filter: drop-shadow(0 0 20px rgba(59,130,246,.4)); }
.portal-hero-copy { position: relative; z-index: 2; max-width: 720px; }
.portal-kicker {
    display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    border-bottom: 1px solid rgba(51, 65, 85, .6); padding-bottom: 12px; margin-bottom: 22px; max-width: 36rem;
    font-size: 12px; font-weight: 700; letter-spacing: .04em; color: #cbd5e1;
}
.portal-kicker span:last-child { font-weight: 500; color: #94a3b8; letter-spacing: .04em; }
.portal-hero h1 { font-size: 48px; line-height: 1.1; font-weight: 800; letter-spacing: -0.6px; margin: 0 0 16px; color: #fff; }
.portal-hero h1 span { color: var(--red); display: block; }
.portal-hero p { color: #cbd5e1; font-size: 15px; max-width: 40rem; margin: 0 0 22px; }

/* Hero search bar — pill layout: country | keyword | AI + classic */
.portal-search {
    background: #fff; border-radius: 12px; padding: 8px; display: flex; align-items: center; gap: 8px;
    max-width: 42rem; box-shadow: 0 20px 40px rgba(0,0,0,.25); color: #1e293b;
}
.portal-search--hero {
    border-radius: 999px;
    padding: 6px 6px 6px 10px;
    gap: 0;
    max-width: 46rem;
    align-items: stretch;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255,255,255,.08);
}
.portal-search--hero .home-country { width: 10.25rem; flex: none; align-self: center; }
.portal-search-sep {
    width: 1px; align-self: stretch; margin: 10px 4px; background: #e2e8f0; flex: none;
}
.portal-search--hero .field {
    position: relative; flex: 1; min-width: 0; margin: 0; display: flex; align-items: center;
}
.portal-search--hero .field > i {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    color: #94a3b8; font-size: 14px; pointer-events: none; z-index: 1;
}
.portal-search--hero .portal-search-ph {
    position: absolute; left: 34px; right: 8px; top: 50%; transform: translateY(-50%);
    display: flex; flex-direction: column; gap: 1px; pointer-events: none;
    transition: opacity .15s ease;
}
.portal-search--hero .portal-search-ph-main {
    font-size: 14px; font-weight: 600; color: #334155; line-height: 1.2;
}
.portal-search--hero .portal-search-ph-sub {
    font-size: 11px; font-weight: 500; color: #94a3b8; line-height: 1.2;
}
.portal-search--hero .field.is-filled .portal-search-ph { opacity: 0; }
.portal-search--hero input {
    width: 100%; border: 0; outline: 0; background: transparent;
    padding: 12px 10px 12px 34px; font-size: 14px; font-weight: 600; color: #0f172a;
}
.portal-search-actions {
    display: flex; align-items: center; gap: 6px; flex: none; padding: 2px 2px 2px 8px;
}
.portal-search-ai {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    border: 0; border-radius: 999px; background: var(--red); color: #fff;
    font-weight: 700; font-size: 13px; padding: 11px 18px; white-space: nowrap;
    box-shadow: 0 8px 18px rgba(239, 56, 56, .35);
}
.portal-search-ai:hover { background: var(--red-hover); color: #fff; }
.portal-search-classic {
    width: 44px; height: 44px; border: 0; border-radius: 30px;
    background: #0B1936; color: #fff; display: grid; place-items: center; font-size: 15px; flex: none;
}
.portal-search-classic:hover { background: #132447; color: #fff; }

.portal-search .field { position: relative; flex: 1; margin: 5px; }
.portal-search .field i { position: absolute; left: 12px; top: 15px; color: #94a3b8; font-size: 13px; }
.portal-search input {
    width: 100%; border: 0; outline: 0; padding: 10px 12px 10px 36px; font-size: 14px; color: #1e293b; background: transparent;
}
.portal-search select {
    width: 9rem; border: 0; border-left: 1px solid #e2e8f0; background: transparent;
    padding: 8px 8px 8px 12px; font-size: 14px; font-weight: 500; color: #334155; outline: 0;
}
.home-country { width: 10.5rem; flex: none; }
.portal-search .home-country .select2-container { width: 100% !important; }
.portal-search .home-country .select2-container--default .select2-selection--single {
    height: 42px; border: 0; border-radius: 0; background: transparent;
    transition: background .18s ease;
}
.portal-search--hero .home-country .select2-container--default .select2-selection--single {
    border-left: 0; height: 44px;
}
.portal-search .home-country .select2-container--default .select2-selection--single .select2-selection__rendered {
    display: flex; align-items: center; height: 42px; line-height: 42px; padding-left: 10px; padding-right: 22px;
    color: #334155; font-size: 13px; font-weight: 600; overflow: hidden;
}
.portal-search--hero .home-country .select2-container--default .select2-selection--single .select2-selection__rendered {
    height: 44px; line-height: 44px; padding-left: 6px;
}
.portal-search .home-country .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px; right: 6px;
}
.portal-search--hero .home-country .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px;
}
.portal-search .home-country .select2-container--default.select2-container--open .select2-selection--single {
    background: #f8fafc;
}
.home-country-flag { display: inline-flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; }
.home-country-flag img { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; border: 1px solid #e2e8f0; flex: none; }
.home-country-flag i { width: 20px; text-align: center; color: #64748b; font-size: 13px; flex: none; }
.home-country-drop.select2-dropdown,
.home-country-drop.select2-dropdown--below,
.home-country-drop.select2-dropdown--above {
    border: 1px solid #e2e8f0 !important; border-radius: 12px !important; overflow: hidden; margin-top: 6px;
    min-width: 0; box-shadow: 0 16px 36px rgba(15, 23, 42, .16);
    animation: homeCountryIn .18s ease;
    z-index: 40 !important;
}
.home-country-drop .select2-results__options {
    max-height: 220px !important; overflow-y: scroll !important;
    scrollbar-width: thin; scrollbar-color: #64748b #f1f5f9;
}
.home-country-drop .select2-results__options::-webkit-scrollbar { width: 8px; }
.home-country-drop .select2-results__options::-webkit-scrollbar-track { background: #f1f5f9; }
.home-country-drop .select2-results__options::-webkit-scrollbar-thumb { background: #64748b; border-radius: 8px; }
.home-country-drop .select2-results__option { padding: 8px 10px; font-size: 13px; color: #0f172a; transition: background .15s ease, color .15s ease; }
.select2-container--default .home-country-drop .select2-results__option--highlighted.select2-results__option--selectable { background: #f8fafc; color: #0f172a; }
.select2-container--default .home-country-drop .select2-results__option--selected { background: #fef2f2; color: #E51937; font-weight: 700; }
@media (min-width: 721px) {
    .home-country-drop.select2-dropdown,
    .home-country-drop.select2-dropdown--below,
    .home-country-drop.select2-dropdown--above { width: 10.5rem !important; }
}
@keyframes homeCountryIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: none; }
}
.portal-btn {
    background: var(--red); color: #fff; border: 0; border-radius: 6px; font-weight: 600; font-size: 14px;
    padding: 10px 22px; display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
}
.portal-btn:hover { background: var(--red-hover); }
.portal-actions { display: flex; gap: 16px; margin-top: 18px; flex-wrap: wrap; }
.portal-btn-ghost {
    border: 1px solid #475569; color: #fff; border-radius: 6px; padding: 10px 22px; font-size: 14px; font-weight: 600;text-align: center;
}
.portal-btn-ghost:hover { border-color: #94a3b8; background: rgba(30, 41, 59, .5); }

.portal-stats { background: transparent; border-bottom: 0; padding: 28px 0; }
.portal-stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.portal-stat {
    display: flex; align-items: center; gap: 16px; padding: 16px 18px;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
}
.portal-stat + .portal-stat { border-left: 0; }
.portal-stat-icon {
    width: 48px; height: 48px; border-radius: 8px; background: #fef2f2; color: var(--red);
    display: grid; place-items: center; font-size: 20px; flex-shrink: 0;
}
.portal-stat strong {display: block;font-size: 24px;color: #384870;line-height: 1.1;font-family: sans-serif;}
.portal-stat span { font-size: 12px; color: #64748b; font-weight: 500; }

.portal-main { padding: 40px 0; }
.portal-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 32px; }
@media (max-width: 1023px) {
    .portal-grid { display: flex; flex-direction: column; align-items: stretch; }
    .portal-grid > * { width: 100%; min-width: 0; }
}
.portal-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; border-bottom: 1px solid #e2e8f0; padding-bottom: 12px; margin-bottom: 16px; }
.portal-head h1, .portal-head h2 { margin: 0; font-size: 24px; font-weight: 700; color: #0f172a; }
.portal-head p { margin: 4px 0 0; font-size: 12px; color: #64748b; }
.portal-link { color: var(--red); font-size: 12px; font-weight: 600; }
.portal-link:hover { text-decoration: underline; }

.portal-list { display: flex; flex-direction: column; gap: 16px; }
.portal-card {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .08);
}
.portal-card:hover { box-shadow: 0 12px 28px rgba(15, 23, 42, .12); }
.portal-card-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.portal-card h3 { margin: 6px 0; font-size: 16px; font-weight: 700; color: #0f172a; }
.portal-pills { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.portal-pill {
    display: inline-flex; align-items: center; gap: 6px; background: #f1f5f9; color: #334155;
    border-radius: 4px; padding: 2px 10px; font-size: 12px; font-weight: 600;
}

/* Home latest-tender cards (screenshot layout) */
.portal-tender-card .portal-tender-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    flex: 1;
}
.portal-tender-card .portal-pills {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
}
.portal-tender-card .portal-pill {
    font-size: 12px;
    border-radius: 15px;
    padding: 4px 12px;
    display: flex;
    align-items: baseline;
}
.portal-tender-card h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.35;
}
.portal-tender-sector {
    color: #64748b;
    font-size: 13px;
    line-height: 1.4;
}
.portal-tender-sector .fa-bolt { color: #f59e0b; margin-right: 4px; }
.portal-tender-card .portal-meta { font-size: 13px; }
.flag-img,
span.fi.flag-img {
    width: 20px;
    height: 15px;
    line-height: 15px;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0,0,0,.15);
    background-size: cover;
    flex: none;
}
img.flag-img { object-fit: cover; }
.portal-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; color: #64748b; font-size: 12px; }
.portal-meta strong { color: #1e293b; }
.portal-view {
    display: inline-block; border: 1px solid var(--red); color: var(--red); font-weight: 500;
    font-size: 12px; padding: 8px 16px; border-radius: 4px; white-space: nowrap;
}
.portal-view:hover { background: var(--red); color: #fff; }

.portal-side { display: flex; flex-direction: column; gap: 24px; }
.portal-side h3, .portal-side h4 { margin: 0; font-size: 14px; font-weight: 700; color: #0f172a; }
.portal-side-head { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #f1f5f9; padding-bottom: 12px; margin-bottom: 4px; }
.portal-country {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 4px; border-bottom: 1px solid #f1f5f9; font-size: 12px; color: #334155;
}
.portal-country:hover { background: #f8fafc; }
.portal-country-name { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.portal-country-count { color: #64748b; display: inline-flex; align-items: center; gap: 6px; }
.portal-help, .portal-account { text-align: center; }
.portal-help { background: #f1f5f9; }
.portal-help p, .portal-account p { font-size: 12px; color: #64748b; margin: 8px 0 12px; }
.portal-icon {
    width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; margin: 0 auto 8px;
    background: var(--navy); color: #fff;
}
.portal-icon.blue { background: #eff6ff; color: #2563eb; width: 32px; height: 32px; font-size: 12px; }
.portal-dark-btn, .portal-outline-btn { display: block; border-radius: 4px; font-size: 12px; font-weight: 500; padding: 8px 16px; }
.portal-dark-btn { background: var(--navy); color: #fff; }
.portal-dark-btn:hover { background: #1e293b; }
.portal-outline-btn { width: 100%; background: #fff; border: 1px solid #cbd5e1; color: #334155; }
.portal-outline-btn:hover { border-color: #94a3b8; }
.portal-market { display: block; padding: 12px; text-align: center; }
.portal-market img { width: 100%; max-width: 201px; height: auto; display: inline-block; }

.portal-sectors { background: #f8fafc; border-top: 1px solid #e2e8f0; padding: 40px 0; }
.portal-sector-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.portal-sector {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; color: #1e293b;box-shadow: 0 8px 22px rgba(15, 23, 42, .08);display: flex;flex-direction: column;align-items: center;
}
.portal-sector:hover { box-shadow: 0 12px 28px rgba(15, 23, 42, .12); }
.portal-sector i.bubble {
    width: 32px; height: 32px; border-radius: 6px; display: grid; place-items: center; margin-bottom: 8px; font-size: 14px;
}
.portal-sector.portal-country {
    display: grid; grid-template-columns: 108px minmax(0, 1fr); grid-template-rows: auto auto;
    align-items: center; column-gap: 14px; min-height: 84px; padding: 0 16px 0 0; overflow: hidden;
}
.portal-sector.portal-country .flag-img,
.portal-sector.portal-country .fi.flag-img {
    grid-row: 1 / span 2;
    width: 108px;
    height: 100%;
    min-height: 84px;
    max-height: none;
    line-height: 84px;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background-size: cover;
}
.portal-sector.portal-country img.flag-img { object-fit: cover; }
.portal-sector.portal-country strong {grid-column: 2;align-self: end;margin: 0;font-size: 16px;color: #26466f;font-family: inherit; text-align: center;}
.portal-sector.portal-country small {grid-column: 2;align-self: start;margin-top: 2px;font-size: 12px;color: #807b7b;font-family: inherit; text-align: center;}
.portal-sector strong { display: block; font-size: 12px; }
.portal-sector small { display: block; margin-top: 4px; font-size: 11px; color: #94a3b8; }
.bg-green { background: #ecfdf5; color: #059669; }
.bg-blue { background: #eff6ff; color: #2563eb; }
.bg-indigo { background: #eef2ff; color: #4f46e5; }
.bg-teal { background: #f0fdfa; color: #0d9488; }
.bg-amber { background: #fffbeb; color: #d97706; }
.bg-sky { background: #f0f9ff; color: #0284c7; }
.bg-purple { background: #faf5ff; color: #9333ea; }
.bg-slate { background: #f1f5f9; color: #475569; }

.portal-cta-wrap { padding: 8px 0 32px; }
.portal-cta {
    background: var(--navy); color: #fff; border-radius: 12px; padding: 28px 32px;
    display: flex; align-items: center; justify-content: space-between; gap: 24px;
    position: relative; overflow: hidden; box-shadow: 0 16px 30px rgba(10, 19, 41, .18);
}
.portal-cta-copy { display: flex; align-items: center; gap: 16px; position: relative; z-index: 1; }
.portal-cta h3 { margin: 0; font-size: 20px; }
.portal-cta p { margin: 4px 0 0; font-size: 12px; color: #94a3b8; }
.portal-cta small { display: block; margin-top: 4px; font-size: 10px; color: #94a3b8; text-align: right; }
.portal-cta .portal-btn { position: relative; z-index: 1; font-size: 12px; font-weight: 700; }

.portal-footer { background: var(--navy); color: #94a3b8; font-size: 12px; padding: 48px 0 24px; border-top: 1px solid #1e293b; }
.portal-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; }
.portal-footer h5 { color: #fff; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 8px; }
.portal-footer a { display: block; color: #94a3b8; font-size: 12px; margin: 6px 0; }
.portal-footer a:hover { color: #fff; }
.portal-footer p { font-size: 12px; line-height: 1.6; max-width: 240px; }
.portal-social { display: flex; gap: 12px; padding-top: 8px; font-size: 14px; }
.portal-foot {
    border-top: 1px solid #1e293b; margin-top: 32px; padding-top: 20px;
    display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: #64748b;
}

.portal-detail { padding: 36px 0 56px; }
.portal-detail h1 { font-size: 32px; margin: 8px 0; color: #fff; }
.portal-detail .portal-meta { color: #cbd5e1; }
.notice-card, .side-card.padded {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px; margin-bottom: 16px;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.notice-card h3, .side-card.padded h3 { margin: 0 0 8px; font-size: 14px; }
.doc-item { padding: 8px 0; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
.cis-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; font-size: 13px; }
.cis-facts span, .cis-muted { display: block; color: #64748b; font-size: 11px; }
.notice-card h1 { font-size: 26px; margin: 0 0 10px; }

.static-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .7fr); gap: 24px; align-items: start; }
.static-card, .static-panel {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);
}
.static-card { padding: 28px 28px 12px; }
.static-kicker { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #E51937; }
.static-card h1 { margin: 0 0 14px; font-size: 32px; line-height: 1.15; color: #0f172a; }
.static-card p { margin: 0 0 14px; color: #334155; font-size: 15px; line-height: 1.7; }
.static-side { display: flex; flex-direction: column; gap: 16px; }
.static-panel { padding: 18px 18px 8px; }
.static-panel h2, .sitemap-block h2 { margin: 0 0 12px; font-size: 16px; color: #0f172a; }
.static-country { display: flex; align-items: center; gap: 10px; padding: 9px 2px; border-top: 1px solid #f1f5f9; color: #1e293b; font-size: 14px; font-weight: 600; }
.static-country:hover { color: #E51937; }
.static-flag,
span.fi.static-flag {
    width: 22px;
    height: 16px;
    line-height: 16px;
    border-radius: 2px;
    border: 1px solid #e2e8f0;
    flex: none;
    background-size: cover;
}
img.static-flag { height: auto; max-height: 16px; object-fit: contain; }
.contact-list { margin-top: 8px; }
.contact-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-top: 1px solid #f1f5f9; }
.contact-row i { width: 36px; height: 36px; border-radius: 8px; background: #fef2f2; color: #E51937; display: grid; place-items: center; flex: none; }
.contact-row strong { display: block; margin-bottom: 2px; font-size: 12px; color: #64748b; }
.contact-row a, .contact-row span { display: block; color: #0f172a; font-size: 14px; font-weight: 600; line-height: 1.5; }
.contact-row em { display: block; margin-top: 2px; font-style: normal; font-size: 12px; font-weight: 600; color: #64748b; }
.contact-layout { grid-template-columns: minmax(0, 1fr) minmax(280px, 1fr); align-items: stretch; }
.contact-map-wrap {
    height: 100%; min-height: 380px; border-radius: 14px; overflow: hidden;
    border: 1px solid #e2e8f0; background: #e2e8f0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);
}
.contact-map-wrap iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }
.static-cta p { margin: 0 0 14px; color: #64748b; font-size: 13px; line-height: 1.6; }
.static-cta .portal-btn { display: inline-flex; }
.sitemap-page { padding-bottom: 28px; }
.sitemap-block { margin: 0 0 8px; padding: 28px 0 12px; }
.sitemap-block + .sitemap-block { border-top: 1px solid #e2e8f0; }
.sitemap-block h2 { margin: 0 0 16px; font-size: 18px; }
.sitemap-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sitemap-sectors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sitemap-grid a {
    display: flex; align-items: center; gap: 8px; min-height: 44px;
    padding: 12px 14px; border-radius: 10px; background: #f8fafc;
    color: #334155; font-size: 14px; font-weight: 600; line-height: 1.45;
}
.sitemap-grid a:hover { background: #fef2f2; color: #E51937; }
@media (max-width: 900px) {
    .static-layout, .sitemap-grid, .sitemap-sectors { grid-template-columns: 1fr; }
    .static-card { padding: 22px 18px 8px; }
    .static-card h1 { font-size: 28px; }
}

.list-hero {
    background: radial-gradient(circle at 75% 30%, #152E58 0%, #0B1936 50%, #060F22 100%);
    color: #fff; position: relative; overflow: hidden; padding: 40px 0;
}
.list-hero-ring, .list-hero-ring-2 { position: absolute; border-radius: 50%; pointer-events: none; top: 50%; transform: translateY(-50%); }
.list-hero-ring { right: 12%; width: 520px; height: 520px; border: 1px dashed rgba(255,255,255,.12); }
.list-hero-ring-2 { right: 18%; width: 380px; height: 380px; border: 1px solid rgba(255,255,255,.08); }
.list-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; align-items: center; position: relative; z-index: 1; }
.list-hero h1 { margin: 8px 0 12px; font-size: 42px; line-height: 1.1; font-weight: 900; color: #fff; letter-spacing: -0.5px; }
.list-hero h1 span { color: #E51937; display: block; }
.list-kicker { font-size: 12px; font-weight: 700; letter-spacing: .12em; color: #cbd5e1; }
.list-hero p { color: #cbd5e1; font-size: 14px; max-width: 36rem; margin: 0; }
.list-map {
    background: rgba(15, 23, 42, .4); border: 1px solid rgba(51, 65, 85, .5); border-radius: 12px; padding: 16px;
}
.list-map-art { position: relative; height: 190px; border-radius: 8px; background: linear-gradient(to bottom, rgba(23, 37, 84, .4), rgba(2, 6, 23, .8)); overflow: hidden; }
.list-map-art svg { width: 100%; height: 100%; }
.list-pin { position: absolute; top: 42%; left: 58%; transform: translate(-50%, -50%); color: #E51937; font-size: 24px; }
.list-pin:before {
    content: ""; position: absolute; inset: -8px; border-radius: 50%; background: rgba(229, 25, 55, .3); animation: portal-pulse 2s infinite;
}
.list-map-stats { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; margin-top: 14px; padding-top: 12px; border-top: 1px solid #1e293b; font-size: 12px; }
.list-map-stats strong { display: block; color: #fff; font-size: 14px; }
.list-map-stats span { color: #94a3b8; font-size: 10px; }
.list-map-stats div + div { border-left: 1px solid #1e293b; }
.list-map-foot { margin-top: 10px; text-align: center; font-size: 11px; font-weight: 600; color: #cbd5e1; border-top: 1px solid rgba(30, 41, 59, .8); padding-top: 8px; }

.list-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr) 260px; gap: 24px; align-items: start; }
.list-filter { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 16px rgba(15, 23, 42, .05); overflow: hidden; position: sticky; top: 80px; }
.list-filter-head { padding: 14px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; display: flex; justify-content: space-between; align-items: center; }
.list-filter-head h3 { margin: 0; font-size: 14px; font-weight: 700; }
.list-reset { background: none; border: 0; color: #2563eb; font-size: 11px; font-weight: 500; padding: 0; }
.list-filter-body { padding: 12px; max-height: calc(100vh - 180px); overflow: auto; scrollbar-width: none; }
.list-filter-body::-webkit-scrollbar { display: none; width: 0; height: 0; }
.flt { padding: 10px 0; border-top: 1px solid #f1f5f9; }
.flt:first-child { border-top: 0; padding-top: 0; }
.flt h4 { margin: 0 0 8px; font-size: 12px; font-weight: 700; color: #1e293b; }
.flt h4 i { color: #94a3b8; margin-right: 6px; }
.flt input[type="text"], .flt select, .filter-input {
    width: 100%; border: 1px solid #e2e8f0; border-radius: 4px; padding: 6px 8px; font-size: 12px; background: #fff; color: #334155;
}
.country-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; color: #334155; margin: 6px 0; }
.country-item .num { font-size: 10px; color: #94a3b8; background: #f1f5f9; border-radius: 4px; padding: 1px 6px; }
#loadMoreCountries { color: #2563eb; font-size: 11px; font-weight: 600; }
#countryLoader { display: none; font-size: 11px; color: #64748b; }
.list-apply { padding: 12px; border-top: 1px solid #e2e8f0; }
.list-apply button { width: 100%; background: #0a1329; color: #fff; border: 0; border-radius: 4px; font-size: 12px; font-weight: 700; padding: 10px; }
.list-apply button:hover { background: #0a1329; }

.list-toolbar, .list-pager {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 14px;
    display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.list-toolbar-stats { display: flex; gap: 24px; }
.list-stat { display: flex; align-items: center; gap: 8px; }
.list-stat-icon { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; }
.list-stat-icon.red { background: #fef2f2; color: #E51937; }
.list-stat-icon.blue { background: #eff6ff; color: #2563eb; }
.list-stat-label { font-size: 10px; color: #94a3b8; }
.list-stat-num { font-size: 14px; font-weight: 800; color: #0f172a; }
.list-sort { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #64748b; }
.list-sort select { border: 1px solid #e2e8f0; border-radius: 4px; padding: 4px 8px; font-size: 12px; background: #fff; }
.listing-results { position: relative; min-height: 220px; margin: 12px 0; }
.listing-skeletons { display: none; flex-direction: column; gap: 18px; }
.listing-skeletons.is-on { display: flex; }
#TenderList.is-hidden { display: none !important; }
.sk-row { pointer-events: none; }
.sk-row:hover { border-color: #e2e8f0; }
.sk {
    display: block; border-radius: 4px; background-color: #e2e8f0;
    background-image: linear-gradient(90deg, #e2e8f0 0%, #e2e8f0 40%, #f8fafc 50%, #e2e8f0 60%, #e2e8f0 100%);
    background-size: 200% 100%;
    animation: sk-shimmer 1.2s ease-in-out infinite;
}
.sk-num { width: 22px; height: 12px; margin: 0 auto 8px; }
.sk-flag { width: 48px; height: 32px; margin: 0 auto 8px; border-radius: 2px; }
.sk-flag-name { width: 72px; height: 12px; margin: 0 auto; }
.sk-tags { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.sk-tag { width: 92px; height: 16px; }
.sk-tag-wide { width: 180px; }
.sk-pill { width: 42px; height: 16px; margin-left: auto; border-radius: 999px; }
.sk-line { height: 12px; margin-bottom: 6px; }
.sk-line-short { width: 72%; }
.sk-meta { width: 46%; height: 10px; margin-top: 8px; }
.sk-btn { width: 108px; height: 30px; border-radius: 4px; }
.sk-row:nth-child(2n) .sk-line-short { width: 58%; }
.sk-row:nth-child(3n) .sk-tag-wide { width: 140px; }
@keyframes sk-shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } }
#TenderList { display: flex; flex-direction: column; gap: 18px; counter-reset: tender; }
.list-empty {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 40px 24px;
    text-align: center; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 16px rgba(15, 23, 42, .05);
}
.list-empty i { display: block; margin-bottom: 10px; color: #E51937; font-size: 28px; }
.list-empty strong { display: block; margin-bottom: 6px; color: #0f172a; font-size: 16px; }
.list-empty p { max-width: 28rem; margin: 0 auto; color: #64748b; font-size: 13px; line-height: 1.5; }
.list-row {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 18px 20px;
    display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: 20px; align-items: center;
    counter-increment: tender;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 16px rgba(15, 23, 42, .05);
    transition: box-shadow .22s ease, border-color .22s ease, transform .22s ease;
}
.list-row:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .12);
    transform: translateY(-2px);
}
.sk-row:hover { border-color: #e2e8f0; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 16px rgba(15, 23, 42, .05); transform: none; }
.list-num { color: #94a3b8; font-size: 12px; font-weight: 700; margin-bottom: 8px; }
.list-num:before { content: counter(tender) "."; }
.list-flag { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.list-flag .fi {
    width: 48px;
    height: 36px;
    line-height: 36px;
    border-radius: 2px;
    border: 1px solid #e2e8f0;
    background-size: cover;
}
.list-flag > span:not(.fi) { display: block; margin: 0; font-size: 12px; font-weight: 600; line-height: 1.35; color: #334155; }
.list-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 10px; }
.tag { font-size: 11px; font-weight: 600; border-radius: 4px; padding: 4px 10px; }
.tag-sector { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; border-radius: 5px;}
.tag-sector-alt { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa;border-radius: 5px; }
.list-row h3 { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #0f172a; line-height: 1.45; }
.list-row h3 a:hover { color: #E51937; }
.list-meta { display: flex; flex-wrap: wrap; gap: 10px 20px; color: #64748b; font-size: 12px; }
.list-meta strong { color: #0f172a; }
.list-details {
    background: #E51937;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 8px;
    padding: 6px 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: background .22s ease;
    flex-direction: row;
    justify-content: center;
}
.list-details:hover { background: #C80F2A; color: #fff; }
.list-pager { margin-top: 4px; }
#loadMore { background: #fff; border: 1px solid #e2e8f0; border-radius: 4px; padding: 8px 12px; font-size: 12px; font-weight: 600; color: #334155; }
.list-side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 80px; }
.list-market { display: block; padding: 12px; text-align: center; }
.list-market img { width: 100%; max-width: 201px; height: auto; display: inline-block; }
.list-side-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 14px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 6px 16px rgba(15, 23, 42, .05); }
.list-side-card h3 { margin: 0 0 8px; font-size: 12px; font-weight: 700; }
.list-side a.row { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 2px; border-bottom: 1px solid #f1f5f9; font-size: 13px; color: #334155; }
.list-side a.row:hover { background: #f8fafc; }
.list-side .side-country { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.list-side .side-country .flag-img,
.list-side .side-country .fi.flag-img {
    width: 28px;
    height: 21px;
    line-height: 21px;
    flex: 0 0 auto;
    border-radius: 2px;
    box-shadow: none;
    border: 1px solid #e2e8f0;
    background-size: cover;
}

.tl-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 24px; align-items: start; }
.tl-sidebar { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; }
.tl-filter-grp { margin-bottom: 14px; }
.filter-h { font-size: 12px; font-weight: 700; margin-bottom: 8px; color: #0f172a; }
.country-item, .tl-sidebar label { display: flex; gap: 8px; align-items: center; font-size: 12px; margin: 6px 0; }
.tl-sort { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; color: #64748b; }
#TenderList { display: flex; flex-direction: column; gap: 18px; }
.load-more { margin-top: 16px; }
.load-more .btn { border: 1px solid #cbd5e1; background: #fff; color: #334155; border-radius: 6px; padding: 10px 16px; font-size: 12px; }

.dt-hero {
    background: linear-gradient(180deg, rgba(8, 18, 37, .92), rgba(10, 24, 51, .96)), radial-gradient(circle at 80% 20%, #1a386b, #081225 70%);
    color: #fff; padding: 28px 0 32px; border-bottom: 1px solid #1e293b;
}
.dt-hero-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; font-size: 12px; }
.dt-hero-top a { color: #cbd5e1; font-weight: 500; }
.dt-hero-top a:hover { color: #fff; }
.dt-status { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; border-radius: 999px; padding: 2px 10px; }
.dt-status.is-active { color: #6ee7b7; background: rgba(16, 185, 129, .2); border: 1px solid rgba(16, 185, 129, .4); }
.dt-status.is-closed { color: #fecaca; background: rgba(229, 25, 55, .2); border: 1px solid rgba(229, 25, 55, .4); }
.dt-hero-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .7fr); gap: 24px; align-items: center; }
.dt-hero h1 { margin: 0 0 14px; color: #fff; font-size: 28px; line-height: 1.25; font-weight: 800; letter-spacing: -.3px; }
.dt-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.dt-badges span {
    display: inline-flex; align-items: center; gap: 8px; background: rgba(15, 23, 42, .6);
    border: 1px solid rgba(51, 65, 85, .7); border-radius: 6px; padding: 6px 12px; font-size: 12px; color: #cbd5e1;
}
.dt-badges .dt-sector.is-a { background: rgba(16, 185, 129, .18); color: #a7f3d0; border-color: rgba(16, 185, 129, .4); }
.dt-badges .dt-sector.is-b { background: rgba(251, 146, 60, .18); color: #fdba74; border-color: rgba(251, 146, 60, .4); }
.dt-badges .dt-sector.is-c { background: rgba(96, 165, 250, .18); color: #bfdbfe; border-color: rgba(96, 165, 250, .4); }
.dt-summary img, .dt-similar img,
.dt-summary .fi, .dt-similar .fi {
    width: 20px;
    height: 14px;
    line-height: 14px;
    border-radius: 2px;
    border: 1px solid rgba(0,0,0,.1);
    background-size: cover;
}
.dt-summary img, .dt-similar img { object-fit: cover; }
.dt-badges strong, .dt-value { color: #fff; }
.dt-value { color: #34d399; }
.dt-country-card {
    display: flex; align-items: center; gap: 12px; background: rgba(15, 23, 42, .7);
    border: 1px solid rgba(51, 65, 85, .8); border-radius: 12px; padding: 14px;
}
.dt-country-flag,
span.fi.dt-country-flag {
    width: 84px;
    height: 56px;
    line-height: 56px;
    flex: none;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,.25);
    background-size: cover;
}
img.dt-country-flag { height: auto; max-height: 56px; object-fit: contain; }
.dt-country-copy { text-align: right; flex: 1; }
.dt-country-copy strong { display: flex; justify-content: flex-end; align-items: center; gap: 6px; font-size: 14px; }
.dt-country-copy strong i { color: #60a5fa; font-size: 12px; }
.dt-country-copy span { display: block; color: #94a3b8; font-size: 11px; margin-top: 2px; }
.dt-country-copy a { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; color: #E51937; font-size: 11px; font-weight: 600; }
.dt-main { padding-top: 24px; }
.dt-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; align-items: start; }
.dt-stack, .dt-side { display: flex; flex-direction: column; gap: 16px; }
.dt-tabs { display: flex; overflow-x: auto; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06); }
.dt-tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 14px 18px; font-size: 12px; font-weight: 700; color: #475569; border-bottom: 2px solid transparent; white-space: nowrap; }
.dt-tabs a i { color: #94a3b8; }
.dt-tabs a.is-active { color: #E51937; border-bottom-color: #E51937; background: rgba(254, 242, 242, .45); }
.dt-tabs a.is-active i { color: #E51937; }
@media (max-width: 640px) {
    .dt-tabs { flex-wrap: wrap; overflow-x: visible; }
    .dt-tabs a { flex: 1 1 auto; justify-content: center; padding: 12px 10px; }
}
.dt-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dt-metric, .dt-card {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);
    transition: box-shadow .25s ease, transform .25s ease;
}
.dt-metric:hover, .dt-card:hover { box-shadow: 0 12px 28px rgba(15, 23, 42, .1); }
.dt-metric { display: flex; align-items: center; gap: 12px; padding: 14px; }
.dt-metric small, .dt-facts small, .dt-extra small, .dt-doc small { display: block; color: #94a3b8; font-size: 10px; }
.dt-metric strong, .dt-facts strong, .dt-extra strong { color: #0f172a; font-size: 12px; }
.dt-metric-icon, .dt-fact-icon { width: 36px; height: 36px; border-radius: 999px; display: grid; place-items: center; flex: none; font-size: 12px; }
.dt-metric-icon.blue { background: #eff6ff; color: #2563eb; }
.dt-metric-icon.indigo { background: #eef2ff; color: #4f46e5; }
.dt-metric-icon.red { background: #fef2f2; color: #E51937; }
.dt-metric-icon.green { background: #ecfdf5; color: #059669; }
.dt-deadline { color: #E51937; }
.dt-card { padding: 20px; }
.dt-card h2 { margin: 0 0 14px; padding-bottom: 12px; border-bottom: 1px solid #f1f5f9; font-size: 14px; font-weight: 700; color: #0f172a; }
.dt-card h2 i { color: #64748b; margin-right: 6px; }
.dt-card-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid #f1f5f9; margin-bottom: 14px; }
.dt-card-head h2 { border: 0; margin: 0; padding: 0 0 12px; }
.dt-card-head span, .dt-card-head a { font-size: 11px; color: #94a3b8; }
.dt-card-head a { color: #E51937; font-weight: 600; }
.dt-copy { font-size: 12px; color: #475569; line-height: 1.7; }
.dt-copy p { margin: 0 0 10px; }
.dt-callout { display: flex; gap: 10px; margin-top: 14px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 6px; padding: 12px; color: #1e3a8a; font-size: 12px; }
.dt-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 28px; }
.dt-facts > div { display: flex; gap: 12px; align-items: flex-start; }
.dt-fact-icon { width: 32px; height: 32px; border-radius: 6px; background: #f1f5f9; color: #475569; }
.dt-docs { display: flex; flex-direction: column; gap: 10px; }
.dt-doc { display: flex; align-items: center; gap: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; padding: 12px; }
.dt-ext { width: 36px; height: 36px; border-radius: 6px; display: grid; place-items: center; color: #fff; font-size: 9px; font-weight: 800; flex: none; background: #475569; }
.dt-ext.pdf { background: #ef4444; }
.dt-ext.doc { background: #1e40af; }
.dt-ext.sheet { background: #047857; }
.dt-ext.zip { background: #0f172a; }
.dt-doc strong { display: block; font-size: 12px; color: #1e293b; word-break: break-all; }
.dt-extra { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dt-extra strong { display: block; margin-top: 2px; }
.dt-card > p { margin: 0 0 6px; font-size: 13px; color: #334155; }
.dt-alert { background: linear-gradient(135deg, #0B1936, #0D2247 55%, #081225); color: #fff; border: 1px solid #1e293b; border-radius: 14px; padding: 20px; box-shadow: 0 8px 24px rgba(8, 18, 37, .18); }
.dt-alert-kicker { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #93c5fd; }
.dt-alert h3 { margin: 8px 0; font-size: 16px; font-weight: 800; color: #fff; }
.dt-alert p { margin: 0 0 12px; font-size: 12px; color: #cbd5e1; }
.dt-alert a, .dt-help a { display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 4px; font-size: 12px; font-weight: 700; padding: 10px; }
.dt-alert a { background: #E51937; color: #fff; }
.dt-alert a:hover { background: #C80F2A; color: #fff; }
.dt-summary { margin: 0; }
.dt-summary div { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 12px; }
.dt-summary dt { color: #94a3b8; }
.dt-summary dd { margin: 0; text-align: right; font-weight: 600; color: #1e293b; }
.dt-actions { display: flex; flex-direction: column; gap: 8px; }
.dt-action { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 4px; color: #334155; font-size: 12px; font-weight: 600; padding: 8px; }
.dt-action:hover { background: #f1f5f9; color: #0f172a; }
.dt-similar { display: flex; flex-direction: column; }
.dt-similar-item { padding: 10px 0; border-top: 1px solid #f1f5f9; }
.dt-similar-item span { display: flex; align-items: center; gap: 6px; color: #94a3b8; font-size: 11px; }
.dt-similar-item em { font-style: normal; }
.dt-similar-item strong { display: block; margin-top: 4px; font-size: 12px; color: #1e293b; line-height: 1.4; }
.dt-similar-item:hover strong { color: #E51937; }
.dt-help { background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 14px; padding: 16px; text-align: center; box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06); }
.dt-help > span { width: 36px; height: 36px; margin: 0 auto 8px; border-radius: 999px; background: #0B1936; color: #fff; display: grid; place-items: center; }
.dt-help h3 { margin: 0 0 6px; font-size: 12px; }
.dt-help p { margin: 0 0 10px; font-size: 11px; color: #64748b; }
.dt-help a { background: #0B1936; color: #fff; }
.dt-help a:hover { background: #0f172a; color: #fff; }

@media (max-width: 1100px) {
    .list-layout { grid-template-columns: 260px minmax(0, 1fr); }
    .list-filter, .list-side { position: static; top: auto; }
    .list-side { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .list-market { grid-column: 1 / -1; }
    .list-side a.row { min-width: 0; }
    .list-side .side-country { flex: 1; }
    .list-side .side-country span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .list-side a.row > span:last-child { flex: none; }
}
@media (max-width: 1024px) {
    .portal-hero-glow, .portal-hero-ring, .portal-hero-ring-2, .portal-map { display: none; }
    .portal-stats-grid, .portal-sector-grid, .portal-footer-grid, .tl-layout { grid-template-columns: 1fr 1fr; }
    .portal-stats-grid { grid-template-columns: 1fr 1fr; }
    .portal-stat + .portal-stat { border-left: 0; }
    .portal-hero h1 { font-size: 36px; }
    .portal-menu-btn { display: flex; }
    .portal-links, .portal-register, .portal-login { display: none; }
    .list-layout { display: flex; flex-direction: column; align-items: stretch; width: 100%; }
    .list-layout > * { width: 100%; min-width: 0; max-width: 100%; }
    .list-side { display: flex; flex-direction: column; align-items: stretch; width: 100%; }
    .list-filter, .list-side { position: static; top: auto; }
    .list-filter-body { max-height: 320px; }
    .listing-results, #TenderList, .list-toolbar, .list-pager, .list-row { width: 100%; max-width: 100%; }
    .list-hero-grid, .dt-layout, .dt-hero-grid { display: flex; flex-direction: column; align-items: stretch; }
    .dt-layout { align-items: stretch; }
    .dt-stack, .dt-side { width: 100%; min-width: 0; max-width: 100%; }
    .list-hero h1 { font-size: 32px; }
    .list-map { width: 100%; }
}
@media (max-width: 800px) {
    .list-layout, .list-side { display: flex; flex-direction: column; align-items: stretch; }
    .list-filter, .list-side { position: static; top: auto; }
    .list-filter-body { max-height: 320px; }
    .list-hero h1, .adv-hero h1, .reg-hero h1 { font-size: 30px; }
    .list-map-stats { gap: 6px; }
    .list-map-stats strong { font-size: 12px; }
    .dt-metrics, .dt-extra, .dt-facts { grid-template-columns: 1fr; }
    .adv-actions { flex-direction: column; }
    .adv-actions button { width: 100%; justify-content: center; }
}
@media (max-width: 720px) {
    .portal-top-inner, .portal-top-actions, .portal-card-row, .portal-cta, .portal-foot, .portal-cta-copy { flex-direction: column; align-items: flex-start; }
    .portal-top-actions { width: 100%; }
    .portal-search:not(.portal-search--hero), .portal-grid, .portal-stats-grid, .portal-sector-grid, .portal-footer-grid, .tl-layout, .list-hero-grid, .dt-layout, .dt-hero-grid { display: flex; flex-direction: column; }
    .portal-search--hero {
        flex-wrap: wrap; border-radius: 18px; padding: 10px; gap: 8px; align-items: stretch;
    }
    .portal-search--hero .home-country { width: 100%; }
    .portal-search--hero .portal-search-sep { display: none; }
    .portal-search--hero .field { width: 100%; min-height: 48px; }
    .portal-search--hero .portal-search-actions { width: 100%; padding: 0; gap: 8px; }
    .portal-search-ai { flex: 1; border-radius: 12px; }
    .portal-search-classic { width: 48px; height: 48px; border-radius: 12px; }
    .dt-layout { align-items: stretch; }
    .dt-stack, .dt-side { width: 100%; min-width: 0; max-width: 100%; }
    .dt-hero h1 { font-size: 22px; }
    .portal-search:not(.portal-search--hero) select { width: 100%; border-left: 0; border-top: 1px solid #e2e8f0; }
    .home-country { width: 100%; }
    .portal-search:not(.portal-search--hero) .home-country .select2-container--default .select2-selection--single { border-left: 0; border-top: 1px solid #e2e8f0; }
    .home-country-drop.select2-dropdown,
    .home-country-drop.select2-dropdown--below,
    .home-country-drop.select2-dropdown--above { width: var(--home-country-width, 100%) !important; }
    .portal-actions .portal-btn, .portal-actions .portal-btn-ghost { width: 100%; justify-content: center; }
    .adv-hero-grid, .adv-fields { display: flex; flex-direction: column; }
    .portal-cta .portal-btn, .portal-cta small { text-align: left; }
    .portal-footer p { max-width: none; }
    .whyCis { align-items: flex-start; }
}

.adv-hero {
    background: radial-gradient(circle at 80% 20%, rgba(26, 56, 107, .6), rgba(8, 18, 37, .95) 70%), linear-gradient(180deg, #081225, #0A1833);
    color: #fff; padding: 40px 0 88px; position: relative; overflow: hidden;
}
.adv-grid { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.05) 1px, transparent 0); background-size: 24px 24px; pointer-events: none; }
.adv-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr .6fr; gap: 24px; align-items: center; }
.adv-kicker { color: #60a5fa; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.adv-hero h1 { margin: 8px 0 10px; color: #fff; font-size: 44px; font-weight: 900; line-height: 1.1; }
.adv-hero h1 span { color: #E51937; }
.adv-hero p { margin: 0; max-width: 36rem; color: #cbd5e1; font-size: 14px; }
.adv-map { position: relative; height: 144px; background: rgba(15, 23, 42, .4); border: 1px solid rgba(51, 65, 85, .5); border-radius: 12px; display: grid; place-items: center; }
.adv-map svg { width: 100%; height: 100%; }
.adv-map i { position: absolute; color: #E51937; font-size: 24px; animation: portal-pulse 2s infinite; }
.adv-main { max-width: 1300px; margin: -48px auto 48px; padding: 0 16px; position: relative; z-index: 2; }
.adv-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 16px 40px rgba(15, 23, 42, .12); overflow: hidden; }
.adv-card-head { display: flex; align-items: center; gap: 16px; padding: 24px; border-bottom: 1px solid #f1f5f9; }
.adv-card-head > span { width: 44px; height: 44px; border-radius: 8px; background: #eff6ff; border: 1px solid #dbeafe; color: #2563eb; display: grid; place-items: center; font-size: 18px; }
.adv-card-head h2 { margin: 0; font-size: 16px; }
.adv-card-head p { margin: 2px 0 0; font-size: 12px; color: #64748b; }
.adv-card-body { padding: 24px; }
.adv-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.adv-fields label, .adv-field { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; color: #334155; }
.adv-fields label span i, .adv-field > span i { color: #64748b; margin-right: 6px; }
.adv-fields select, .adv-fields input, .adv-input input {
    width: 100%; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 6px; padding: 10px 12px; font-size: 12px; font-weight: 500; color: #0f172a;
}
.adv-fields select:focus, .adv-fields input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, .15); background: #fff; }
.adv-input { position: relative; display: block; }
.adv-input i { position: absolute; left: 12px; top: 12px; color: #94a3b8; }
.adv-input input { padding-left: 32px; }
.adv-countries { max-height: 210px; overflow: auto; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 6px; padding: 4px 8px; }
.adv-fields .adv-country {
    display: flex; flex-direction: row; align-items: center; justify-content: flex-start;
    gap: 8px; width: 100%; margin: 0; padding: 5px 2px; font-size: 12px; font-weight: 500; text-align: left;
}
.adv-fields .adv-country input[type="checkbox"] { width: 14px; height: 14px; margin: 0; flex: none; }
.adv-country-name { flex: 1; min-width: 0; }
.adv-country .num { margin-left: auto; font-size: 10px; font-weight: 600; color: #94a3b8; background: #f1f5f9; border-radius: 4px; padding: 1px 6px; }
.adv-fields .select2-container { width: 100% !important; font-weight: 500; }
.adv-fields .select2-container--default .select2-selection--single {
    height: 40px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 6px;
    display: flex; align-items: center;
}
.adv-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px; padding-left: 12px; font-size: 12px; font-weight: 500; color: #0f172a;
}
.adv-fields .select2-container--default .select2-selection--single .select2-selection__arrow { height: 38px; }
.adv-fields .select2-container--default .select2-selection--single .select2-selection__clear { margin-right: 8px; }
.select2-container--default .select2-results__option { font-size: 13px; }
#divcpv.cpv-panel {
    position: fixed; z-index: 10000; width: min(640px, 92vw); background: #fff;
    border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 12px 32px rgba(15, 23, 42, .16); overflow: hidden;
}
#divcpv .cpv-panel-head, #divcpv .cpv-panel-body { display: grid; grid-template-columns: 1.45fr .75fr; }
#divcpv .cpv-panel-head span {
    padding: 12px 14px 8px; border-bottom: 1px solid #e2e8f0;
    font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #64748b;
}
#divcpv .cpv-panel-head span + span, #divcpv #div_result1 { border-left: 1px solid #e2e8f0; }
#divcpv #div_result, #divcpv #div_result1 { max-height: 280px; overflow: auto; padding: 6px; box-sizing: border-box; }
#divcpv #div_result label.cpv-option {
    display: flex; align-items: flex-start; gap: 8px; width: auto; margin: 0; padding: 7px 6px;
    border-radius: 6px; font-size: 12px; font-weight: 500; line-height: 1.35; color: #1e293b; cursor: pointer;
}
#divcpv #div_result label.cpv-option:hover { background: #f8fafc; }
#divcpv #div_result label.cpv-option input[type="checkbox"] {
    width: 14px; height: 14px; margin: 2px 0 0; padding: 0; flex: none; accent-color: #E51937;
}
#divcpv .cpv-option-code {
    flex: none; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11px; font-weight: 700; color: #1e3a8a;
}
#divcpv .cpv-option-name { min-width: 0; }
#divcpv #div_result1 span {
    display: inline-flex; align-items: center; gap: 4px; margin: 4px; padding: 4px 8px;
    background: #f1f5f9; border-radius: 4px; font-size: 12px; font-weight: 600; color: #0f172a;
}
#divcpv .cpv-panel-foot {
    display: flex; gap: 8px; padding: 10px 14px; border-top: 1px solid #e2e8f0; background: #f8fafc;
}
#divcpv .cpv-panel-foot button {
    border-radius: 6px; font-size: 12px; font-weight: 700; padding: 8px 16px; cursor: pointer;
}
#divcpv .cpv-panel-foot button:first-child { background: #E51937; color: #fff; border: 0; }
#divcpv .cpv-panel-foot #cancl { background: #fff; color: #334155; border: 1px solid #cbd5e1; margin: 0; }
@media (max-width: 640px) {
    #divcpv .cpv-panel-head, #divcpv .cpv-panel-body { grid-template-columns: 1fr; }
    #divcpv .cpv-panel-head span + span, #divcpv #div_result1 { border-left: 0; border-top: 1px solid #e2e8f0; }
}
.adv-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.adv-note { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a8a; border-radius: 6px; padding: 12px; font-size: 12px; }
.adv-actions { display: flex;gap: 12px;margin-top: 16px;justify-content: flex-start;flex-direction: row-reverse; }
.adv-actions button { border-radius: 6px; font-size: 12px; font-weight: 700; padding: 12px 24px; display: inline-flex; align-items: center; gap: 8px; }
.adv-actions button[type="submit"] { background: #E51937; color: #fff; border: 0; }
.adv-actions button[type="submit"]:hover { background: #C80F2A; }
.adv-actions button[type="reset"] { background: #fff; color: #334155; border: 1px solid #cbd5e1; }
.adv-results { margin-top: 24px; }
.sec-active { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px; }
.sec-active a { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px; color: #1e293b; }
.sec-active a:hover { border-color: #cbd5e1; }
.sec-active strong { width: 28px; height: 28px; border-radius: 6px; background: #fef2f2; color: #E51937; display: grid; place-items: center; font-size: 12px; }
.sec-active b { display: block; font-size: 12px; }
.sec-active small { color: #94a3b8; font-size: 11px; }
@media (max-width: 720px) {
    .sec-active { grid-template-columns: 1fr; }
}

.reg-hero {
    background: radial-gradient(circle at 75% 20%, rgba(30, 58, 110, .6), rgba(5, 12, 27, .92) 70%), linear-gradient(180deg, #050C1B, #081225);
    color: #fff; padding: 40px 0 56px; position: relative; overflow: hidden;
}
.reg-grid-bg { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 0); background-size: 20px 20px; pointer-events: none; }
.reg-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr .7fr; gap: 28px; align-items: center; }
.reg-kicker { color: #60a5fa; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.reg-hero h1 { margin: 8px 0 10px; color: #fff; font-size: 42px; font-weight: 900; line-height: 1.1; }
.reg-hero h1 span { color: #E51937; }
.reg-hero p { margin: 0; max-width: 38rem; color: #cbd5e1; font-size: 14px; }
.reg-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.reg-badges span { display: inline-flex; align-items: center; gap: 8px; background: rgba(15, 23, 42, .55); border: 1px solid rgba(51, 65, 85, .7); border-radius: 999px; padding: 6px 12px; font-size: 12px; color: #e2e8f0; }
.reg-badges i { color: #60a5fa; }
.reg-map-card { background: rgba(15, 23, 42, .5); border: 1px solid rgba(51, 65, 85, .6); border-radius: 16px; padding: 16px; }
.reg-map { position: relative; height: 112px; background: #09152C; border: 1px solid #1e293b; border-radius: 12px; display: grid; place-items: center; }
.reg-map svg { width: 100%; height: 100%; }
.reg-map i { position: absolute; color: #E51937; font-size: 22px; animation: portal-pulse 2s infinite; }
.reg-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #1e293b; }
.reg-stats > div { display: flex; align-items: center; gap: 10px; }
.reg-stats span { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; background: rgba(37, 99, 235, .12); border: 1px solid rgba(37, 99, 235, .25); color: #60a5fa; }
.reg-stats span.green { background: rgba(16, 185, 129, .12); border-color: rgba(16, 185, 129, .25); color: #34d399; }
.reg-stats strong { display: block; color: #fff; font-size: 14px; }
.reg-stats small { color: #94a3b8; font-size: 10px; }
.reg-gate { margin-top: 12px; text-align: center; background: rgba(30, 41, 59, .45); border: 1px solid rgba(51, 65, 85, .5); border-radius: 8px; padding: 6px; font-size: 11px; color: #cbd5e1; }
.reg-gate i { color: #E51937; margin-right: 6px; }
.reg-layout { max-width: 1180px; margin: 28px auto 56px; padding: 0 16px; display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 20px; align-items: start; }
.reg-why { position: sticky; top: 80px; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; padding: 22px 20px; box-shadow: 0 12px 30px rgba(15, 23, 42, .08); }
.reg-why h2 { margin: 0 0 16px; font-size: 20px; font-weight: 800; color: #0f172a; }
.reg-why ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.reg-why li { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.45; color: #334155; font-weight: 500; }
.reg-why li i { width: 22px; height: 22px; border-radius: 50%; background: #fef2f2; color: #E51937; display: grid; place-items: center; font-size: 11px; flex: none; margin-top: 1px; }
.reg-why-points { display: grid; gap: 12px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #f1f5f9; }
.reg-why-points > div { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px; }
.reg-why-points i { color: #E51937; font-size: 14px; }
.reg-why-points strong { display: block; margin: 6px 0 4px; font-size: 13px; color: #0f172a; }
.reg-why-points p { margin: 0; font-size: 12px; line-height: 1.45; color: #64748b; }
.demo-card { overflow: visible; }
.demo-form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
.demo-form .reg-block-head,
.demo-form .submit-btn,
.demo-form #demo_spinner,
.demo-form .form-note { grid-column: 1 / -1; }
.demo-form .field, .demo-form .rg-group { margin-bottom: 16px; }
.demo-form label, .demo-form .rg-label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; color: #0f172a; }
.demo-form .req { color: #E51937; }
.demo-form .input, .demo-form .select, .demo-form .rg-cs-trigger {
    width: 100%; height: 48px; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
    padding: 0 14px; font-size: 14px; font-weight: 500; color: #0f172a; box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}
.demo-form .rg-cs-trigger { display: flex; align-items: center; gap: 10px; text-align: left; cursor: pointer; }
.demo-form .input:focus, .demo-form .select:focus, .demo-form .rg-cs.rg-open .rg-cs-trigger {
    outline: none; border-color: #E51937; box-shadow: 0 0 0 4px rgba(229, 25, 55, .12);
}
.demo-form .rg-cs { position: relative; }
.demo-form .rg-cs-label { flex: 1; }
.demo-form .rg-cs-arrow { margin-left: auto; color: #94a3b8; transition: transform .15s ease; }
.demo-form .rg-cs.rg-open .rg-cs-arrow { transform: rotate(180deg); }
.demo-form .rg-cs-globe { width: 16px; height: 16px; border-radius: 50%; background: #f1f5f9; display: inline-block; }
.demo-form .rg-cs-drop {
    display: none; position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; right: 0; max-height: 260px; overflow: auto;
    margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .12);
}
.demo-form .rg-cs.rg-open .rg-cs-drop { display: block; }
.demo-form .rg-cs-opt { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; font-size: 14px; cursor: pointer; }
.demo-form .rg-cs-opt:hover, .demo-form .rg-cs-opt.rg-cs-sel { background: #fef2f2; }
.demo-form .rg-cs-opt.rg-disabled { color: #94a3b8; cursor: default; pointer-events: none; }
.demo-form .info-text { display: none; margin-top: 8px; padding: 8px 10px; border-radius: 8px; background: #fff7ed; color: #9a3412; font-size: 12px; }
.demo-form .error, .demo-form label.field-error, .demo-form .field-error { display: block; margin-top: 6px; color: #dc2626; font-size: 12px; font-weight: 600; }
.demo-form .phone-row .iti { width: 100%; }
.demo-form .phone-row .iti input { height: 48px; border-radius: 10px; border: 1px solid #e2e8f0; }
.demo-form .submit-btn {
    width: 100%; margin-top: 8px; border: 0; border-radius: 10px; background: #E51937; color: #fff;
    font-size: 14px; font-weight: 700; padding: 12px 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
}
.demo-form .submit-btn:hover { background: #C80F2A; }
.demo-form .submit-btn:disabled { opacity: .7; cursor: not-allowed; }
.demo-form .form-note { margin: 12px 0 0; font-size: 12px; color: #64748b; }
#demo_spinner { display: none; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; color: #E51937; font-size: 13px; font-weight: 700; }
#demo_spinner .dot { width: 6px; height: 6px; border-radius: 50%; background: #E51937; animation: rgpulse 1s infinite ease-in-out; }
#demo_spinner .dot:nth-child(2) { animation-delay: .15s; }
#demo_spinner .dot:nth-child(3) { animation-delay: .3s; }
@keyframes rgpulse { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }
.reg-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 24px 50px rgba(15, 23, 42, .14); overflow: visible; }
.reg-steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 22px 28px 18px; background: #fff; border-bottom: 1px solid #f1f5f9; }
.reg-track { position: absolute; left: 58px; right: 58px; top: 38px; height: 2px; background: #e2e8f0; }
.reg-track span { display: block; height: 100%; width: 0; background: #E51937; transition: width .25s ease; }
.reg-steps button { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; background: none; border: 0; padding: 0; text-align: left; color: #64748b; cursor: pointer; }
.reg-steps b { width: 34px; height: 34px; border-radius: 50%; background: #fff; border: 2px solid #e2e8f0; color: #64748b; display: grid; place-items: center; font-size: 13px; }
.reg-steps .is-on { color: #0f172a; }
.reg-steps .is-on b { background: #E51937; border-color: #E51937; color: #fff; }
.reg-steps .is-done b { background: #0f172a; border-color: #0f172a; color: #fff; }
.reg-steps span { font-size: 13px; font-weight: 700; }
.reg-steps small { display: block; font-size: 11px; font-weight: 500; color: #94a3b8; }
.reg-body { padding: 28px; }
.reg-errors { background: #fff7f7; border: 1px solid #fecaca; border-radius: 10px; padding: 12px 14px; margin-bottom: 18px; font-size: 13px; }
.reg-errors ul { margin: 8px 0 0; padding-left: 18px; }
.reg-block { display: block; margin-top: 28px;padding: 0; border-top: 1px solid #f1f5f9; }
.reg-block:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.reg-choices { display: grid; gap: 10px; }
.reg-choices label { display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; font-size: 14px; font-weight: 600; color: #0f172a; cursor: pointer; }
.reg-choices label:has(input:checked) { border-color: #E51937; box-shadow: 0 0 0 4px rgba(229, 25, 55, .1); }
.reg-choices input { width: 16px; height: 16px; accent-color: #E51937; }
.reg-phone { display: block; }
.reg-phone .iti { width: 100%; }
.reg-phone .iti input { height: 48px; border-radius: 10px; border: 1px solid #e2e8f0; }
.reg-phone .iti input:focus { outline: none; border-color: #E51937; box-shadow: 0 0 0 4px rgba(229, 25, 55, .12); }
.reg-flag-opt { display: inline-flex; align-items: center; gap: 8px; }
.reg-fields .select2-container { width: 100% !important; min-width: 0 !important; max-width: 100%; }
.reg-fields .select2-container--default .select2-selection--single,
.reg-fields .select2-container--default .select2-selection--multiple {
    height: 48px; min-height: 48px; max-height: 48px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff;
}
.reg-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px; padding-left: 12px; color: #0f172a; font-size: 14px; font-weight: 500;
}
.reg-fields .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.reg-fields .select2-container--default .select2-selection--multiple {
    display: flex; align-items: center; overflow: hidden; padding: 0;
}
.reg-fields .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex; flex-wrap: nowrap; align-items: center; gap: 6px;
    box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%;
    height: 46px; margin: 0; padding: 0 8px;
    overflow-x: auto; overflow-y: hidden;
}
.reg-fields .select2-container--default .select2-selection--multiple .select2-selection__rendered::-webkit-scrollbar { height: 4px; }
.reg-fields .select2-container--default .select2-selection--multiple .select2-selection__rendered::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.reg-fields .select2-container--default .select2-selection--multiple .select2-selection__choice {
    float: none; flex: none; margin: 0; line-height: 22px; white-space: nowrap;
}
.reg-fields .select2-container--default .select2-selection--multiple .select2-search--inline { float: none; margin: 0; }
.reg-fields .select2-container--default .select2-selection--multiple .select2-search__field { margin: 0; height: 24px; line-height: 24px; }
.reg-fields .select2-container--default.select2-container--focus .select2-selection--single,
.reg-fields .select2-container--default.select2-container--focus .select2-selection--multiple,
.reg-fields .select2-container--default.select2-container--open .select2-selection--single,
.reg-fields .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: #E51937; box-shadow: 0 0 0 4px rgba(229, 25, 55, .12);
}
.reg-fields .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: #fef2f2; border: 1px solid #fecaca; color: #0f172a; border-radius: 8px; padding: 2px 8px;
}
.reg-block-head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.reg-block-head > span { width: 42px; height: 42px; border-radius: 12px; background: #fef2f2; color: #E51937; display: grid; place-items: center; font-size: 16px; }
.reg-block-head h2 { margin: 0; font-size: 20px; font-weight: 800; }
.reg-block-head p { margin: 4px 0 0; font-size: 13px; color: #64748b; font-weight: 500; }
.reg-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 18px; }
.reg-fields > label { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.reg-name { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: #0f172a; }
.reg-fields em { color: #E51937; font-style: normal; }
.reg-span { grid-column: 1 / -1; }
.reg-input { position: relative; display: block; }
.reg-input > i { position: absolute; left: 14px; top: 16px; color: #94a3b8; pointer-events: none; }
.reg-fields input, .reg-fields select, .reg-fields textarea {
    width: 100%; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 0 14px 0 42px;
    height: 48px; font-size: 14px; font-weight: 500; color: #0f172a; box-shadow: 0 1px 2px rgba(15, 23, 42, .03);
}
.reg-fields textarea { height: auto; min-height: 96px; padding-top: 14px; resize: vertical; }
.reg-fields input:focus, .reg-fields select:focus, .reg-fields textarea:focus { outline: none; border-color: #E51937; box-shadow: 0 0 0 4px rgba(229, 25, 55, .12); }
.reg-select select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #94a3b8 50%), linear-gradient(135deg, #94a3b8 50%, transparent 50%); background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.reg-fields .iti { width: 100%; }
.reg-fields .iti input { padding-left: 96px; }
.reg-hint { color: #94a3b8; font-size: 12px; font-weight: 500; }
.reg-error { color: #dc2626; font-size: 12px; font-weight: 600; }
.reg-error:empty { display: none; }
.reg-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #f1f5f9; }
.reg-actions > div { display: flex; gap: 10px; }
.reg-actions button { border-radius: 10px; font-size: 14px; font-weight: 700; padding: 12px 18px; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.reg-next, .reg-submit { background: #E51937; color: #fff; border: 0; }
.reg-next:hover, .reg-submit:hover { background: #C80F2A; }
.reg-back, .reg-clear { background: #fff; color: #334155; border: 1px solid #e2e8f0; }
.reg-back:hover, .reg-clear:hover { background: #f8fafc; }
.reg-back[hidden], .reg-next[hidden], .reg-submit[hidden] { display: none; }
@media (max-width: 980px) {
    .reg-layout { grid-template-columns: 1fr; }
    .reg-why { position: static; }
}
@media (max-width: 800px) {
    .reg-hero-grid, .reg-fields { grid-template-columns: 1fr; }
    .reg-hero h1 { font-size: 32px; }
    .reg-steps small, .reg-track { display: none; }
    .reg-steps { padding: 16px; }
    .reg-body { padding: 18px; }
    .demo-form { grid-template-columns: 1fr; }
    .reg-actions { align-items: stretch; flex-direction: column-reverse; }
    .reg-actions > div { width: 100%; }
    .reg-actions > div button, .reg-clear { width: 100%; justify-content: center; }
}

.ty-page { min-height: calc(100vh - 280px); display: grid; place-items: center; padding: 48px 16px 72px; }
.ty-card { width: min(520px, 100%); background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 24px 50px rgba(15, 23, 42, .12); padding: 36px 40px 32px; text-align: center;    display: flex;flex-direction: column;align-items: center; }
body.reg-pop-open { overflow: hidden; }
.reg-pop-overlay { position: fixed; inset: 0; background: rgba(8, 18, 37, .62); z-index: 10050; }
.reg-pop {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(440px, calc(100% - 32px)); background: #fff; z-index: 10060;
    border-radius: 16px; box-shadow: 0 24px 50px rgba(15, 23, 42, .22); overflow: visible;
}
.reg-pop-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; background: #0A1329; color: #fff; padding: 18px 20px; border-radius: 16px 16px 0 0; }
.reg-pop-head span { display: block; font-size: 18px; font-weight: 800; letter-spacing: -.2px; }
.reg-pop-head p { margin: 4px 0 0; color: #cbd5e1; font-size: 13px; font-weight: 500; }
.reg-pop-close { width: 32px; height: 32px; border-radius: 999px; background: rgba(255,255,255,.12); border: 0; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.reg-pop-close:hover { background: rgba(255,255,255,.22); }
.reg-pop-body { display: flex; flex-direction: column; gap: 14px; padding: 20px 20px 22px; }
.reg-pop-body label { display: block; }
.reg-pop-body label > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: #334155; }
.reg-pop-body input:not(.iti__search-input), .reg-pop-body select {
    width: 100%; height: 48px; border: 1px solid #e2e8f0; border-radius: 8px; padding: 0 14px;
    font-size: 14px; color: #0f172a; background: #fff;
}
.reg-pop-body input:not(.iti__search-input):focus, .reg-pop-body select:focus { outline: none; border-color: #E51937; box-shadow: 0 0 0 4px rgba(229, 25, 55, .12); }
.reg-pop-body small { display: block; margin-top: 4px; color: #E51937; font-size: 12px; font-weight: 600; }
.reg-pop-body > button[type="submit"] {
    width: 100%; height: 48px; margin-top: 2px; background: #E51937; color: #fff; border: 0;
    border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer;
}
.reg-pop-body > button[type="submit"]:hover { background: #C80F2A; }
.reg-pop-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.reg-pop .iti { width: 100%; display: block; }
.reg-pop .iti input.iti__tel-input { height: 48px; }
.reg-pop .iti__country-container { right: 0; }
.reg-pop .iti__selected-country { width: auto; background: transparent; border: 0; }
.reg-pop .iti--inline-dropdown .iti__dropdown-content {
    top: auto; bottom: calc(100% + 6px); left: 0; right: 0; width: auto; margin: 0;
    border: 1px solid #e2e8f0; border-radius: 10px; background: #fff;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .16); overflow: hidden; z-index: 30;
}
.reg-pop .iti__search-input-wrapper { background: #f8fafc; border-bottom: 1px solid #e2e8f0; }
.reg-pop .iti__search-input {
    height: 40px; border: 0; border-radius: 0; box-shadow: none; background: transparent;
    padding: 0 12px 0 36px; font-size: 13px; color: #0f172a;
}
.reg-pop .iti__search-input:focus { outline: none; border: 0; box-shadow: none; }
.reg-pop .iti__search-icon { left: 12px; }
.reg-pop .iti__search-icon-svg { width: 14px; height: 14px; max-width: 14px; display: block; }
.reg-pop .iti__country-list { max-height: 220px; }
.reg-pop .iti__country { gap: 8px; padding: 8px 12px; font-size: 13px; }
.reg-pop .select2-container { width: 100% !important; }
.reg-pop .select2-container--default .select2-selection--single {
    height: 48px; border: 1px solid #e2e8f0; border-radius: 8px; display: flex; align-items: center;
}
.reg-pop .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 12px; color: #0f172a; }
.reg-pop .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.reg-pop .select2-container--default.select2-container--focus .select2-selection--single,
.reg-pop .select2-container--default.select2-container--open .select2-selection--single { border-color: #E51937; box-shadow: 0 0 0 4px rgba(229, 25, 55, .12); }
.reg-pop-flag { display: inline-flex; align-items: center; gap: 8px; }
.reg-pop-flag img { width: 22px; height: auto; max-height: 16px; object-fit: contain; border-radius: 2px; border: 1px solid #e2e8f0; }
body.reg-pop-open .select2-container--open { z-index: 10080; }
body.reg-pop-open .iti__country-list { z-index: 10080; }
@media (max-width: 640px) {
    .reg-pop-head { padding: 12px 16px; }
    .reg-pop-head span { font-size: 17px; }
    .reg-pop-head p { margin-top: 3px; font-size: 13px; }
    .reg-pop-body { gap: 11px; padding: 14px 16px 16px; }
    .reg-pop-body label > span { margin-bottom: 5px; }
    .reg-pop-body input:not(.iti__search-input),
    .reg-pop-body select,
    .reg-pop .iti input.iti__tel-input,
    .reg-pop .select2-container--default .select2-selection--single { height: 42px; }
    .reg-pop .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 40px; }
    .reg-pop .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; }
    .reg-pop-body > button[type="submit"] { height: 42px; }
}
.ty-brand { justify-content: center; margin-bottom: 18px; }
.ty-brand img { height: 48px; max-width: 220px; }
.ty-pill { display: inline-flex; align-items: center; gap: 6px; background: #ecfdf5; color: #166534; border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700; margin-bottom: 14px; }
.ty-card h1 { margin: 0 0 10px; font-size: 32px; font-weight: 800; color: #0f172a; letter-spacing: -0.4px; }
.ty-card > p { margin: 0 auto 22px; max-width: 420px; color: #64748b; font-size: 14px; line-height: 1.6; }
.ty-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.ty-primary, .ty-ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 10px; font-size: 14px; font-weight: 700; }
.ty-primary { background: #E51937; color: #fff; }
.ty-primary:hover { background: #C80F2A; }
.ty-ghost { background: #fff; color: #0f172a; border: 1px solid #e2e8f0; }
.ty-ghost:hover { background: #f8fafc; }
.ty-note { margin: 18px 0 0; font-size: 12px; color: #94a3b8;    margin-top: 20px !important }
.ty-note a { color: #E51937; font-weight: 700; white-space: nowrap; }
@media (max-width: 560px) {
    .ty-card { padding: 28px 18px 24px; }
    .ty-card h1 { font-size: 26px; }
    .ty-actions { flex-direction: column; }
    .ty-primary, .ty-ghost { width: 100%; }
}

#clearSearch{
    background: whitesmoke;
}

.whyCis{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

@media (max-width: 800px) {
    .adv-hero h1 { font-size: 30px; }
    .adv-actions { flex-direction: column; align-items: stretch; }
    .adv-actions button { width: 100%; justify-content: center; }
}
@media (max-width: 720px) {
    .adv-hero-grid, .adv-fields, .whyCis { display: flex; flex-direction: column; align-items: stretch; }
    .portal-nav-inner { height: auto; min-height: 64px; }
    .list-toolbar-stats { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (max-width: 640px) {
    .list-row {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 14px;
    }
    .list-row > div:first-child {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 10px;
        width: 100%;
    }
    .list-num { margin: 0; }
    .list-flag { flex-direction: row; align-items: center; text-align: left; gap: 8px; }
    .list-flag .fi { width: 36px; height: 27px; line-height: 27px; }
    .list-tags { margin-bottom: 8px; }
    .list-row h3 { margin: 0 0 8px; font-size: 16px; line-height: 1.35; }
    .list-meta { flex-direction: column; align-items: flex-start; gap: 6px; }
    .list-details { width: 100%; justify-content: center; margin-top: 2px; }
}
.list-filter .flt input[type="text"],
.list-filter .flt select,
.list-filter .filter-input,
.list-filter .select2-container--default .select2-selection--single,
.list-filter .select2-container--default .select2-selection--multiple {
    border-radius: 10px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .06) !important;
}
.list-filter .filter-input:focus,
.list-filter .select2-container--default.select2-container--focus .select2-selection--single,
.list-filter .select2-container--default.select2-container--focus .select2-selection--multiple,
.list-filter .select2-container--default.select2-container--open .select2-selection--single,
.list-filter .select2-container--default.select2-container--open .select2-selection--multiple {
    box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 0 0 3px rgba(37, 99, 235, .15) !important;
}


