/* ─── Banner content (scoped — background comes from .banner in site.css) ─── */
.rh-banner-content {
    padding-top:35px;
    padding-bottom:30px;
}

.rh-banner-content .rh-hero-title {
    font-size:25px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -.6px;
    margin-bottom: 10px;
}

.rh-banner-content .rh-hero-sub {
    font-size:14px;
    color: #fff;
    line-height:1.2rem;
    margin-bottom: 0;
}

.rh-search-bar {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 50px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(0,0,0,.22);
}

.rh-search-bar-ic {
    display: flex;
    align-items: center;
    padding: 0 6px;
    color: #9aa3bb;
    flex-shrink: 0;
}

.rh-search-bar-input {
    flex: 1;
    height: 40px;
    border: none;
    outline: none;
    font-size: 15px;
    color: #1e2640;
    background: transparent;
    min-width: 0;
}

.rh-search-bar-input::placeholder {
    color:#9aa3bb;
    font-weight:500;
    font-size: 12px;
    letter-spacing:.03rem;
}

.rh-search-bar-divider {
    width: 1px;
    height: 28px;
    background: #e6e8ef;
    flex-shrink: 0;
}

.rh-search-bar-filter-ic {
    display: flex;
    align-items: center;
    padding: 0 6px;
    color: #9aa3bb;
    flex-shrink: 0;
}

.rh-search-bar-select {
    height: 40px;
    border: none;
    outline: none;
    font-size: 13px;
    color: #1e2640;
    background: transparent;
    padding-right: 14px;
    margin-right: 14px;
    cursor: pointer;
}

.rh-search-bar-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 15px 0 10px;
    background: #ff8a00;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    border-radius: 0 50px 50px 0;
    transition: .15s;
    white-space: nowrap;
    flex-shrink: 0;
}

.rh-search-bar-btn:hover {
    background: #e07a00;
}

.rh-hero-ctas {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.rh-cta-post {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #ff8a00;
    color: #fff;
    font-size: 12px;
    font-weight:bold;
    padding: 6px 10px;
    border-radius: 24px;
    text-decoration: none;
}

.rh-cta-post:hover {
    background: #e07a00;
    color: #fff;
}

.rh-cta-register {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(255,255,255,.12);
    border: 1.5px solid rgba(255,255,255,.35);
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding:6px 10px;
    border-radius: 24px;
    text-decoration: none;
}

.rh-cta-register:hover {
    background: rgba(255,255,255,.2);
    color: #fff;
}

.rh-cta-login {
    font-size: 13px;
    color: rgba(255,255,255,.72);
    text-decoration: none;
}

.rh-cta-login:hover {
    color: #fff;
}

.rh-cta-login strong {
    color: rgba(255,255,255,.92);
}

.rh-hero-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    margin-top: 36px;
}

.rh-hero-stat {
    text-align: center;
}

.rh-hero-stat-n {
    display: block;
    font-size: 2rem;
    font-weight: 800;
    color: #ff8a00;
    line-height: 1;
}

.rh-hero-stat-t {
    display: block;
    font-size: .75rem;
    color: rgba(255,255,255,.72);
    margin-top: 5px;
}

@media(max-width:640px) {

    .rh-search-bar-select, .rh-search-bar-divider, .rh-search-bar-filter-ic{
        display: none !important;
    }
    .rh-hero-stats {
        gap: 24px;
    }

    .rh-hero-stat-n {
        font-size: 1.6rem;
    }
}


/* rfp-home.css — RFP landing page (Index.cshtml) + shared _RFPList partial.
   Load after site.css. All page rules scoped under .rfp-home-page.
   Partial card rules prefixed .rfp-card-* / .rfp-* — safe to load on
   RfpList.cshtml too once you add the same partial there. */

/* ─────────────── Shared: _RFPList card styles ─────────────── */
.rfp-card-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rfp-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 12px;
    transition: .15s;
    position: relative;
    transition: transform .15s, box-shadow .15s;
}

.rfp-card:hover {
    box-shadow: 0 10px 28px rgba(23,55,128,.1);
    border-color: #d4d8eb;
}

    .rfp-card.urgent {
        border-left: 3px solid #e5544b;
    }

    .rfp-card.expired {
        opacity: .72;
    }

.rfp-card-inner {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

/* Logo tile */
.rfp-logo-tile {
    width: 80px;
    height: 70px;
    border-radius: 12px;
    flex-shrink: 0;
    border: 1px solid #e7e7f1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}

.rfp-logo-tile img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rfp-initials {
    font-size: 13px;
    font-weight: 800;
    color: var(--bs-secondary,#173780);
}

/* Top line */
.rfp-topline {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
    font-size: 11.5px;
    color: #5c6480;
    margin-bottom:5px;
}
.rfp-cat {
    font-weight: 700;
    color: var(--navy);
}

.rfp-live-dot, .rfp-closed-dot {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 700;
}

.rfp-live-dot {
    color: #1faa59;
}

    .rfp-live-dot::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #1faa59;
    }

.rfp-closed-dot {
    color: #9aa3bb;
}

    .rfp-closed-dot::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #9aa3bb;
    }

.rfp-refno {
    font-size: 11.5px;
    color: #9aa3bb;
}

/* Title */
.rfp-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #173780;
    line-height: 1.4;
    display: block;
}

.rfp-card-title:hover {
    color: #ff8a00;
}

/* Meta row */
.rfp-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin-top: 5px;
}

.rfp-days {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 700;
    color: #173780;
}
.rfp-days svg {
    color: #9aa3bb;
}

.rfp-days.soon {
    color:#e5544b;
}

.rfp-days.soon svg {
    color:#e5544b;
}
.rfp-owner {
    font-size: 12px;
    color: #5c6480;
}

.rfp-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    padding-top:5px;
    border-top: 1px solid var(--border);
}

.rfp-loc {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--soft);
}

.rfp-view {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--orange);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 5px;
}


/* Card body flex */
.rfp-card-body {
    flex: 1;
    min-width: 0;
}

/* Action button */
.rfp-card-action {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.rfp-view-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--bs-primary, #ff8a00);
    color: #fff;
    font-size: 12.5px;
    font-weight: 700;
    padding: 9px 16px;
    border-radius: 8px;
    text-decoration: none;
    white-space: nowrap;
}

    .rfp-view-btn:hover {
        background: #e07a00;
        color: #fff;
    }

/* Empty state */
.rfp-empty {
    text-align: center;
    padding: 48px 20px;
    color: #9aa3bb;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

    .rfp-empty p {
        font-size: 14px;
    }

@media(max-width:640px) {
    .rfp-card-inner {
        flex-wrap: wrap;
    }

    .rfp-card-action {
        width: 100%;
        margin-top: 8px;
    }

    .rfp-view-btn {
        width: 100%;
        justify-content: center;
    }

    .rfp-logo-tile {
        width: 44px;
        height: 44px;
    }
}

/* ─────────────── Landing page: rfp-home-page ─────────────── */
.rfp-home-page .rh-section {
    padding: 30px 0;
}

.rfp-home-page .rh-section-alt {
    background: #f3f2f0;
}

.rfp-home-page .rh-head {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 40px;
}

.rfp-home-page .rh-eye {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--bs-primary,#ff8a00);
}

.rfp-home-page .rh-title {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--bs-secondary,#173780);
    margin-top: 8px;
    letter-spacing: -.3px;
}

    .rfp-home-page .rh-title span {
        color: var(--bs-primary,#ff8a00);
    }

.rfp-home-page .rh-sub {
    font-size: .9rem;
    color: #5c6480;
    margin-top: 10px;
    line-height: 1.65;
}

/* Stats bar */
.rfp-home-page .rh-stats {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(23,55,128,.08);
    margin-top: -26px;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.rfp-home-page .rh-stat {
    padding: 18px;
    border-right: 1px solid #e6e8ef;
    display: flex;
    align-items: center;
    gap: 12px;
}

    .rfp-home-page .rh-stat:last-child {
        border-right: none;
    }

.rfp-home-page .rh-stat-ic {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(255,138,0,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-primary,#ff8a00);
    flex-shrink: 0;
}

.rfp-home-page .rh-stat-n {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--bs-secondary,#173780);
    line-height: 1;
}

.rfp-home-page .rh-stat-t {
    font-size: .7rem;
    color: #5c6480;
    margin-top: 3px;
}

/* Search bar — uses Bootstrap input-group to match the site's existing style */
.rfp-home-page .input-group {
    background: #fff;
    border-radius: 50px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,0,0,.18);
}

    .rfp-home-page .input-group .input-group-text {
        border-radius: 50px 0 0 50px;
    }

    .rfp-home-page .input-group .btn-secondary {
        border-radius: 0 50px 50px 0;
    }

/* Live tenders section head */
.rfp-home-page .rh-live-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 12px;
}

    .rfp-home-page .rh-live-head h2 {
        font-size: 1.1rem;
        font-weight: 800;
        color: var(--bs-secondary,#173780);
        margin:0px;
    }

.rfp-home-page .rh-see-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    color: var(--bs-primary,#ff8a00);
    border: 1.5px solid var(--bs-primary,#ff8a00);
    padding: 5px 15px;
    border-radius: 8px;
    text-decoration: none;
}

    .rfp-home-page .rh-see-all:hover {
        background: var(--bs-primary,#ff8a00);
        color: #fff;
    }

.rfp-home-page .rh-view-all-wrap {
    text-align: center;
    margin-top: 26px;
}

.rfp-home-page .rh-view-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--bs-primary,#ff8a00);
    border: 1.5px solid var(--bs-primary,#ff8a00);
    padding: 12px 28px;
    border-radius: 10px;
    text-decoration: none;
}

    .rfp-home-page .rh-view-all-btn:hover {
        background: var(--bs-primary,#ff8a00);
        color: #fff;
    }

/* Sector cards */
.rfp-home-page .rh-sector-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    padding: 24px 20px;
    text-align: center;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s, border-color .15s;
    text-decoration: none;
    display: block;
}

    .rfp-home-page .rh-sector-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 32px rgba(23,55,128,.1);
        border-color: var(--bs-primary,#ff8a00);
    }

.rfp-home-page .rh-sector-ic {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(23,55,128,.07);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-primary,#ff8a00);
    margin: 0 auto 14px;
}

.rfp-home-page .rh-sector-card h4 {
    font-size: .9rem;
    font-weight: 800;
    color: #173780;
}

.rfp-home-page .rh-sector-card p {
    font-size: .75rem;
    color: #5c6480;
    margin-top: 5px;
    line-height: 1.5;
}

.rfp-home-page .rh-sector-count {
    display: inline-block;
    font-size: .7rem;
    font-weight: 700;
    color: var(--bs-primary,#ff8a00);
    background: rgba(255,138,0,.12);
    padding: 3px 10px;
    border-radius: 20px;
    margin-top: 10px;
}

/* Procurement type cards */
.rfp-home-page .rh-ptype-card {
    border-radius: 16px;
    padding: 28px 24px;
    position: relative;
    overflow: hidden;
    height: 100%;
}

    .rfp-home-page .rh-ptype-card.services {
        background: linear-gradient(135deg,#173780,#2b56b0);
    }

    .rfp-home-page .rh-ptype-card.goods {
        background: linear-gradient(135deg,#178a8a,#1db8b8);
    }

    .rfp-home-page .rh-ptype-card.both {
        background: linear-gradient(135deg,#ff8a00,#ffae52);
    }

.rfp-home-page .rh-ptype-num {
    font-size: 2.2rem;
    font-weight: 800;
    color: rgba(255,255,255,.2);
    position: absolute;
    top: 16px;
    right: 20px;
}

.rfp-home-page .rh-ptype-ic {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(255,255,255,.15);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rfp-home-page .rh-ptype-card h3 {
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    margin-top: 12px;
}

.rfp-home-page .rh-ptype-card p {
    font-size: .8rem;
    color: rgba(255,255,255,.82);
    margin-top: 8px;
    line-height: 1.6;
}

.rfp-home-page .rh-ptype-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    font-size: .84rem;
    font-weight: 700;
    color: #fff;
    background: rgba(255,255,255,.18);
    padding: 8px 16px;
    border-radius: 8px;
    text-decoration: none;
}

    .rfp-home-page .rh-ptype-link:hover {
        background: rgba(255,255,255,.3);
        color: #fff;
    }

/* Why post cards */
.rfp-home-page .rh-why-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    padding: 26px 22px;
    height: 100%;
    transition: .15s;
}

    .rfp-home-page .rh-why-card:hover {
        box-shadow: 0 10px 28px rgba(23,55,128,.08);
    }

.rfp-home-page .rh-why-ic {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(23,55,128,.07);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-primary,#ff8a00);
    margin-bottom: 14px;
}

.rfp-home-page .rh-why-card h4 {
    font-size: .95rem;
    font-weight: 800;
    color: #173780;
}

.rfp-home-page .rh-why-card p {
    font-size: .82rem;
    color: #5c6480;
    margin-top: 8px;
    line-height: 1.65;
}

/* Logos strip */
.rfp-home-page .rh-logos-strip {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    padding: 28px 30px;
}

.rfp-home-page .rh-logos-label {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #9aa3bb;
    text-align: center;
    margin-bottom: 22px;
}

.rfp-home-page .rh-logo-pill {
    height: 44px;
    min-width: 90px;
    padding: 0 18px;
    background: #f3f2f0;
    border: 1px solid #e6e8ef;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .76rem;
    font-weight: 700;
    color: #5c6480;
}

/* CTA band */
.rfp-home-page .rh-cta {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(120deg,#173780,#122c66);
    padding: 52px 40px;
    text-align: center;
}

    .rfp-home-page .rh-cta::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 4px;
        background: var(--bs-primary,#ff8a00);
    }

.rfp-home-page .rh-cta-dia {
    position: absolute;
    transform: rotate(45deg);
    border-radius: 12px;
    background: rgba(255,255,255,.05);
}

.rfp-home-page .rh-cta h2 {
    position: relative;
    font-size: 1.75rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.3px;
}

    .rfp-home-page .rh-cta h2 span {
        color: var(--bs-primary,#ff8a00);
    }

.rfp-home-page .rh-cta p {
    position: relative;
    font-size: .92rem;
    color: rgba(255,255,255,.75);
    margin-top: 12px;
    max-width: 540px;
    margin-inline: auto;
    line-height: 1.65;
}

.rfp-home-page .rh-cta-btns {
    position: relative;
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 26px;
    flex-wrap: wrap;
}

.rfp-home-page .rh-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bs-primary,#ff8a00);
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    padding: 13px 30px;
    border-radius: 10px;
    text-decoration: none;
}

    .rfp-home-page .rh-cta-primary:hover {
        background: #e07a00;
        color: #fff;
    }

.rfp-home-page .rh-cta-ghost {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1.5px solid rgba(255,255,255,.35);
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    padding: 13px 30px;
    border-radius: 10px;
    text-decoration: none;
}

    .rfp-home-page .rh-cta-ghost:hover {
        background: rgba(255,255,255,.08);
        color: #fff;
    }

@media(max-width:767.98px) {
    .rfp-home-page .rh-stats .rh-stat {
        border-right: none;
        border-bottom: 1px solid #e6e8ef;
    }

        .rfp-home-page .rh-stats .rh-stat:last-child {
            border-bottom: none;
        }

    .rfp-home-page .rh-cta {
        padding: 36px 20px;
    }

        .rfp-home-page .rh-cta h2 {
            font-size: 1.4rem;
        }

    .rfp-home-page .rh-search-wrap {
        border-radius: 12px;
    }

    .rfp-home-page .rh-search-btn {
        border-radius: 0 12px 12px 0;
    }
}

/*RFP LISTINGS*/
/* rfp-list.css — RfpList.cshtml page styles (scoped under .rfp-list-page).
   Load after site.css and rfp-cards.css. */

/* ── Promo card (compact inline ad card, not a full banner) ── */
.rfpl-promo-card {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255,138,0,.09) 0%, #fff 55%);
    border: 1px solid rgba(255,138,0,.28);
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

    /* diagonal stripe */
    .rfpl-promo-card .pc-stripe {
        position: absolute;
        top: 0;
        right: 0;
        width: 220px;
        height: 100%;
        pointer-events: none;
        background: repeating-linear-gradient( 45deg, #ff8a00 0, #ff8a00 2px, transparent 0, transparent 14px );
        opacity: .055;
    }

    /* floating bg icons */
    .rfpl-promo-card .pc-icons {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 260px;
        pointer-events: none;
        overflow: hidden;
    }

    .rfpl-promo-card .pci {
        position: absolute;
        color: #173780;
        opacity: .055;
    }

        .rfpl-promo-card .pci svg {
            display: block;
        }

    .rfpl-promo-card .pci-1 {
        right: 60px;
        top: 6px;
        animation: pcFloat 5s ease-in-out infinite;
    }

    .rfpl-promo-card .pci-2 {
        right: 10px;
        top: -10px;
        animation: pcFloat 5s ease-in-out infinite;
        animation-delay: 1.2s;
    }

    .rfpl-promo-card .pci-3 {
        right: 130px;
        bottom: -6px;
        animation: pcFloat 5s ease-in-out infinite;
        animation-delay: 2.4s;
    }

    .rfpl-promo-card .pci-4 {
        right: 28px;
        bottom: 4px;
        opacity: .035;
        animation: pcFloat 5s ease-in-out infinite;
        animation-delay: .6s;
    }

@keyframes pcFloat {
    0%,100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

/* left content */
.rfpl-promo-card .pc-left {
    position: relative;
    z-index: 1;
}

.rfpl-promo-card .pc-title {
    font-size: .9rem;
    font-weight: 700;
    color: #173780;
}

.rfpl-promo-card .pc-sub {
    font-size: .72rem;
    color: #5c6480;
    margin-top: 3px;
}

/* stat pills */
.rfpl-promo-card .pc-stats {
    display: flex;
    gap: 10px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.rfpl-promo-card .pc-pill {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 8px;
    padding: 5px 13px;
    text-align: center;
}

.rfpl-promo-card .pc-pill-n {
    display: block;
    font-size: .92rem;
    font-weight: 800;
    color: #ff8a00;
    line-height: 1;
}

.rfpl-promo-card .pc-pill-t {
    display: block;
    font-size: .6rem;
    color: #9aa3bb;
    margin-top: 2px;
}

/* buttons */
.rfpl-promo-card .pc-btns {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.rfpl-promo-card .pc-btn-post {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ff8a00;
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
    padding: 8px 16px;
    border-radius: 7px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s;
}

    .rfpl-promo-card .pc-btn-post:hover {
        background: #e07a00;
        color: #fff;
    }

.rfpl-promo-card .pc-btn-pricing {
    font-size: .78rem;
    font-weight: 700;
    color: #173780;
    background: #fff;
    border: 1.5px solid #e6e8ef;
    padding: 8px 14px;
    border-radius: 7px;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color .15s;
}

    .rfpl-promo-card .pc-btn-pricing:hover {
        border-color: #173780;
    }

@media(max-width:768px) {
    .rfpl-promo-card {
        flex-direction: column;
        align-items: flex-start;
    }

        .rfpl-promo-card .pc-icons {
            display: none;
        }

        .rfpl-promo-card .pc-btns {
            flex-wrap: wrap;
            width: 100%;
        }

        .rfpl-promo-card .pc-btn-post,
        .rfpl-promo-card .pc-btn-pricing {
            flex: 1;
            justify-content: center;
            text-align: center;
        }
}

/* ── Layout ── */
.rfpl-layout {
    display: grid;
    grid-template-columns: 270px 1fr;
    gap: 22px;
    align-items: start;
}

/* ── Sidebar ── */
.rfpl-side {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    overflow: hidden;
}

.rfpl-side-head {
    background: linear-gradient(135deg,#173780,#122c66);
    border-bottom: 2px solid #ff8a00;
    color: #fff;
    padding: 12px 16px;
    font-size: .88rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

    .rfpl-side-head a {
        font-size: .7rem;
        font-weight: 600;
        color: rgba(255,255,255,.75);
        text-decoration: none;
    }

        .rfpl-side-head a:hover {
            color: #ff8a00;
        }

.rfpl-facet {
    border-bottom: 1px solid #e6e8ef;
}

    .rfpl-facet:last-child {
        border-bottom: none;
    }

    .rfpl-facet h5 {
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .5px;
        text-transform: uppercase;
        color: #173780;
        padding: 12px 16px 4px;
    }

    .rfpl-facet ul {
        list-style: none;
        padding: 4px 8px 12px;
        margin: 0;
    }

    .rfpl-facet li {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 6px 8px;
        border-radius: 7px;
        font-size: .8rem;
        color: #1e2640;
        cursor: pointer;
    }

        .rfpl-facet li:hover {
            background: rgba(23,55,128,.04);
        }

.rfpl-check {
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
    flex: 1;
}

    .rfpl-check input {
        accent-color: #ff8a00;
        width: 15px;
        height: 15px;
    }

.rfpl-cnt {
    font-size: .68rem;
    font-weight: 700;
    color: #9aa3bb;
    background: #f3f2f0;
    padding: 1px 7px;
    border-radius: 20px;
}

.rfpl-facet li.active .rfpl-cnt {
    background: rgba(255,138,0,.14);
    color: #c95d1a;
}

.rfpl-loc-list {
    max-height: 220px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #e6e8ef transparent;
}

.rfpl-loc-list::-webkit-scrollbar {
    width: 4px;
}

.rfpl-loc-list::-webkit-scrollbar-track {
    background: transparent;
}

.rfpl-loc-list::-webkit-scrollbar-button {
    display: none;
}

.rfpl-loc-list::-webkit-scrollbar-thumb {
    background: #e6e8ef;
    border-radius: 4px;
}

.rfpl-loc-list::-webkit-scrollbar-thumb:hover {
    background: #9aa3bb;
}

.rfpl-facet-empty {
    font-size: .78rem;
    color: #9aa3bb;
    padding: 8px 16px 12px;
}

/* ── Main column ── */
.rfpl-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* toolbar */
.rfpl-toolbar {
    display: flex;
    gap: 10px;
    align-items: center;
}

.rfpl-search {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 10px;
    padding: 0 14px;
}

    .rfpl-search svg {
        color: #9aa3bb;
        flex-shrink: 0;
    }

    .rfpl-search input {
        flex: 1;
        border: none;
        outline: none;
        font-size: .9rem;
        color: #1e2640;
        background: transparent;
        min-width: 0;
    }

        .rfpl-search input::placeholder {
            color: #9aa3bb;
        }

    .rfpl-search:focus-within {
        border-color: #ff8a00;
        box-shadow: 0 0 0 3px rgba(255,138,0,.12);
    }

.rfpl-search-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 46px;
    padding: 0 22px;
    background: #ff8a00;
    color: #fff;
    font-size: .88rem;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background .15s;
    white-space: nowrap;
}

    .rfpl-search-btn:hover {
        background: #e07a00;
    }

/* mobile filter trigger */
.rfpl-filter-trigger {
    display: none;
    align-items: center;
    gap: 7px;
    height: 46px;
    padding: 0 16px;
    border: 1px solid #e6e8ef;
    border-radius: 10px;
    background: #fff;
    font-size: .88rem;
    font-weight: 700;
    color: #173780;
    cursor: pointer;
}

.rfpl-filter-trigger svg {
    color: #ff8a00;
}

.rfpl-filter-trigger .rfpl-badge {
    background: #ff8a00;
    color: #fff;
    font-size: .6rem;
    font-weight: 800;
    border-radius: 20px;
    padding: 1px 6px;
}

/* count + sort */
.rfpl-results-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.rfpl-count {
    font-size: .84rem;
    color: #5c6480;
}

.rfpl-count strong {
    color: #173780;
}

.rfpl-sort {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .84rem;
    color: #5c6480;
}

    .rfpl-sort select {
        height: 36px;
        border: 1px solid #e6e8ef;
        border-radius: 8px;
        padding: 0 28px 0 10px;
        font-size: .84rem;
        color: #1e2640;
        background: #fff;
        outline: none;
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa3bb' stroke-width='2'%3e%3cpath d='m4 6 4 4 4-4'/%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: right 8px center;
        background-size: 14px;
    }

/* ── Pagination ── */
.rfpl-pager {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
}

.rfpl-pg {
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e6e8ef;
    border-radius: 8px;
    background: #fff;
    font-size: .82rem;
    font-weight: 600;
    color: #1e2640;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}

    .rfpl-pg:hover {
        border-color: #ff8a00;
        color: #ff8a00;
    }

    .rfpl-pg.active {
        background: #173780;
        border-color: #173780;
        color: #fff;
    }

.rfpl-pg-arrow {
    font-size: 1.1rem;
}

/* ── Mobile bottom sheet ── */
.rfpl-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(18,44,102,.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s;
    z-index: 40;
}

    .rfpl-backdrop.open {
        opacity: 1;
        visibility: visible;
    }

.rfpl-sheet {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-radius: 18px 18px 0 0;
    z-index: 41;
    transform: translateY(100%);
    transition: transform .3s cubic-bezier(.32,.72,0,1);
    max-height: 82vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 -10px 40px rgba(0,0,0,.18);
}

    .rfpl-sheet.open {
        transform: translateY(0);
    }

.rfpl-sheet-grip {
    width: 44px;
    height: 5px;
    border-radius: 3px;
    background: #d7dced;
    margin: 10px auto 4px;
}

.rfpl-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 20px 14px;
    border-bottom: 1px solid #e6e8ef;
}

    .rfpl-sheet-head h4 {
        font-size: 1rem;
        font-weight: 800;
        color: #173780;
    }

    .rfpl-sheet-head button {
        background: none;
        border: none;
        color: #9aa3bb;
        cursor: pointer;
        font-size: 22px;
        line-height: 1;
    }

.rfpl-sheet-body {
    overflow-y: auto;
    flex: 1;
}

.rfpl-sheet-foot {
    display: flex;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e6e8ef;
}

    .rfpl-sheet-foot button {
        flex: 1;
        height: 46px;
        border-radius: 10px;
        font-size: .9rem;
        font-weight: 700;
        cursor: pointer;
        border: none;
    }

.rfpl-sheet-clear {
    background: #fff;
    border: 1.5px solid #e6e8ef !important;
    color: #173780;
}

.rfpl-sheet-apply {
    background: #ff8a00;
    color: #fff;
}

/* ── Responsive ── */
@media(max-width:860px) {
    .rfpl-layout {
        grid-template-columns: 1fr;
    }

    .rfpl-side {
        display: none;
        position: static;
    }

    .rfpl-filter-trigger {
        display: inline-flex;
    }

    .rfpl-promo-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media(max-width:540px) {
    .rfpl-promo-btns {
        flex-direction: column;
        width: 100%;
    }

    .rfpl-btn-post, .rfpl-btn-pricing {
        justify-content: center;
        text-align: center;
    }
}



/* rfp-description.css — RFP Detail page. Scoped under .rfpd-page */

.rfpd-page {
    padding-bottom: 50px;
}

    .rfpd-page .container {
        padding-top: 18px;
    }

/* ── Breadcrumb ── */
.rfpd-bc {
    font-size: .78rem;
    color: #9aa3bb;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

    .rfpd-bc a {
        color: #9aa3bb;
        text-decoration: none;
    }

        .rfpd-bc a:hover {
            color: #ff8a00;
        }

.rfpd-bc-cur {
    color: #5c6480;
    font-weight: 600;
}

/* ── Header card ── */
.rfpd-header {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    padding: 22px 24px;
    margin-bottom: 18px;
}

.rfpd-header-top {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.rfpd-logo {
    width: 100px;
    height: 90px;
    border-radius: 12px;
    border: 1px solid #e7e7f1;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}

    .rfpd-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.rfpd-logo-init {
    font-size: .82rem;
    font-weight: 800;
    color: #173780;
}

.rfpd-header-info {
    flex: 1;
    min-width: 0;
}

.rfpd-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .7rem;
    font-weight: 700;
    color: #1faa59;
    background: rgba(31,170,89,.1);
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 8px;
}

    .rfpd-live-badge.rfpd-live-urgent {
        color: #e5544b;
        background: rgba(229,84,75,.1);
    }

.rfpd-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: #122c66;
    line-height: 1.3;
    margin-bottom: 5px;
}

.rfpd-org {
    font-size: .84rem;
    color: #5c6480;
}

/* ── Stat pills ── */
.rfpd-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.rfpd-pill {
    display: flex;
    align-items: center;
    gap: 9px;
    background: #f7f8fa;
    border: 1px solid #eef0f4;
    border-radius: 9px;
    padding: 8px 13px;
}

    .rfpd-pill svg {
        color: #ff8a00;
        flex-shrink: 0;
    }

.rfpd-pill-label {
    display: block;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: #9aa3bb;
    margin-bottom: 2px;
}

.rfpd-pill-value {
    display: block;
    font-size: .82rem;
    font-weight: 700;
    color: #173780;
}

.rfpd-pill-urgent {
    color: #e5544b;
}

/* ── Timeline ── */
.rfpd-timeline {
    display: flex;
    align-items: flex-start;
}

.rfpd-tl-step {
    flex: 1;
    text-align: center;
    position: relative;
}

.rfpd-tl-line {
    position: absolute;
    top: 6px;
    left: 50%;
    right: -50%;
    height: 2px;
    background: #e6e8ef;
    z-index: 0;
}

    .rfpd-tl-line.rfpd-tl-done {
        background: #1faa59;
    }

    .rfpd-tl-line.rfpd-tl-urgent-line {
        background: #e5544b;
    }

.rfpd-tl-step:last-child .rfpd-tl-line {
    display: none;
}

.rfpd-tl-dot {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    margin: 0 auto 5px;
    position: relative;
    z-index: 1;
}

.rfpd-tl-done {
    background: #1faa59;
}

.rfpd-tl-active {
    background: #ff8a00;
    box-shadow: 0 0 0 3px rgba(255,138,0,.2);
}

.rfpd-tl-urgent {
    background: #e5544b;
    box-shadow: 0 0 0 3px rgba(229,84,75,.2);
}

.rfpd-tl-pending {
    background: #e6e8ef;
}

.rfpd-tl-date {
    font-size: .72rem;
    font-weight: 700;
    color: #5c6480;
}

.rfpd-tl-name {
    font-size: .65rem;
    color: #9aa3bb;
    margin-top: 2px;
}

/* ── Two-column layout ── */
.rfpd-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 18px;
    align-items: start;
}

/* ── Main cards ── */
.rfpd-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.rfpd-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 20px 22px;
}


.rfpd-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #173780;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid #f0f1f5;
}

.rfpd-section-title svg {
    color: #ff8a00;
    flex-shrink: 0;
}


.rfpd-desc {
    overflow-wrap: break-word;
    word-break: break-word;
}

.rfpd-desc table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
    border-collapse: collapse !important;
    margin: 0 0 1rem 0 !important;
}

.rfpd-desc th,
.rfpd-desc td {
    width: auto !important;
    max-width: 100% !important;
    border: 1px solid #dee2e6 !important;
    padding: 0.5rem 0.75rem !important;
    vertical-align: top;
    overflow-wrap: break-word;
}

.rfpd-desc img {
    max-width: 100% !important;
    height: auto !important;
}

.rfpd-desc p {
    margin: 0 0 0.5rem 0;
}

.rfpd-desc table {
    display: block;
    width: 100% !important;
    overflow-x: auto;
    border-collapse: collapse !important;
}

.rfpd-desc h1, .rfpd-desc h2, .rfpd-desc h3, .rfpd-desc h4, .rfpd-desc h5, .rfpd-desc h6, .rfpd-desc p {
    margin: 0 !important;
    font-size: 13px;
}

.rfpd-desc ul {
    list-style: none;
    margin: 0 0 1rem 0;
    padding-left: 0px !important;
}

.rfpd-desc ul > li {
    position: relative;
    padding-left: 1.25rem;
    margin-bottom: 0.35rem;
    line-height: 1.5;
}

.rfpd-desc ul > li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: inherit;
}


/* pre-bid */
.rfpd-prebid {
    border-left: 3px solid #173780;
}

.rfpd-prebid-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* info grid */
.rfpd-info-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.rfpd-info-row {
    display: flex;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid #f7f8fa;
    font-size: .84rem;
}

    .rfpd-info-row:last-child {
        border-bottom: none;
    }

.rfpd-info-label {
    color: #9aa3bb;
    font-weight: 600;
    min-width: 110px;
    flex-shrink: 0;
}

.rfpd-info-value {
    color: #1e2640;
    flex: 1;
}

    .rfpd-info-value a {
        color: #173780;
        text-decoration: none;
    }

        .rfpd-info-value a:hover {
            color: #ff8a00;
        }

/* doc list */
.rfpd-doc-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rfpd-doc-row {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f7f8fa;
    border: 1px solid #eef0f4;
    border-radius: 9px;
    padding: 11px 14px;
}

    .rfpd-doc-row.rfpd-doc-corr {
        background: #fff8f3;
        border-color: rgba(255,138,0,.2);
    }

.rfpd-doc-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #eef1fa;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .rfpd-doc-icon.rfpd-doc-icon-corr {
        background: rgba(255,138,0,.1);
    }

.rfpd-doc-info {
    flex: 1;
    min-width: 0;
}

.rfpd-doc-name {
    display: block;
    font-size: .84rem;
    font-weight: 700;
    color: #173780;
}

.rfpd-doc-type {
    display: block;
    font-size: .68rem;
    color: #9aa3bb;
    margin-top: 2px;
}

    .rfpd-doc-type.rfpd-doc-type-corr {
        color: #c95d1a;
    }

.rfpd-doc-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #ff8a00;
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
    padding: 7px 14px;
    border-radius: 7px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s;
}

    .rfpd-doc-btn:hover {
        background: #e07a00;
        color: #fff;
    }

    .rfpd-doc-btn.rfpd-doc-btn-corr {
        background: #c95d1a;
    }

        .rfpd-doc-btn.rfpd-doc-btn-corr:hover {
            background: #a84b13;
        }

/* ── Sidebar ── */
.rfpd-side {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 16px;
}

.rfpd-side-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 16px 18px;
}

/* countdown */
.rfpd-countdown {
    text-align: center;
    padding: 20px 18px;
}

.rfpd-dl-days {
    font-size: 2.6rem;
    font-weight: 800;
    color: #173780;
    line-height: 1;
}

    .rfpd-dl-days.rfpd-dl-urgent {
        color: #e5544b;
    }

.rfpd-dl-label {
    font-size: .72rem;
    color: #9aa3bb;
    margin-top: 4px;
}

.rfpd-dl-date {
    font-size: .82rem;
    font-weight: 700;
    color: #5c6480;
    margin-top: 8px;
}

/* buttons */
.rfpd-btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #ff8a00;
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
    padding: 11px;
    border-radius: 9px;
    text-decoration: none;
    margin-bottom: 8px;
    transition: background .15s;
}

    .rfpd-btn-primary:hover {
        background: #e07a00;
        color: #fff;
    }

.rfpd-btn-outline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #fff;
    color: #173780;
    border: 1.5px solid #d0d8ef;
    font-size: .84rem;
    font-weight: 700;
    padding: 10px;
    border-radius: 9px;
    text-decoration: none;
    margin-bottom: 8px;
    transition: border-color .15s;
}

    .rfpd-btn-outline:hover {
        border-color: #173780;
        color: #122c66;
    }

.rfpd-btn-ghost {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: transparent;
    color: #9aa3bb;
    border: 1.5px solid #e6e8ef;
    font-size: .84rem;
    font-weight: 700;
    padding: 10px;
    border-radius: 9px;
    text-decoration: none;
    margin-bottom: 8px;
    transition: border-color .15s, color .15s;
}

    .rfpd-btn-ghost:hover {
        border-color: #9aa3bb;
        color: #5c6480;
    }

/* share */
.rfpd-share-row {
    display: flex;
    gap: 6px;
    margin-top: 4px;
}

.rfpd-share-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: .68rem;
    font-weight: 700;
    padding: 7px;
    border-radius: 7px;
    text-decoration: none;
    transition: opacity .15s;
    cursor: pointer;
}

    .rfpd-share-btn:hover {
        opacity: .85;
    }

.rfpd-share-email {
    background: #eef1fa;
    color: #173780;
}

.rfpd-share-wa {
    background: #e8f5e9;
    color: #2e7d32;
}

.rfpd-share-copy {
    background: #f3f2f0;
    color: #5c6480;
}

/* quick info */
.rfpd-side-title {
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #9aa3bb;
    margin-bottom: 10px;
}

.rfpd-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid #f7f8fa;
    font-size: .78rem;
}

    .rfpd-meta-row:last-child {
        border-bottom: none;
    }

.rfpd-meta-key {
    color: #9aa3bb;
    font-weight: 600;
    flex-shrink: 0;
}

.rfpd-meta-val {
    color: #173780;
    font-weight: 700;
    text-align: right;
}

    .rfpd-meta-val a {
        color: #173780;
        text-decoration: none;
        font-size: .72rem;
    }

        .rfpd-meta-val a:hover {
            color: #ff8a00;
        }

/* promo card */
.rfpd-promo {
    background: linear-gradient(135deg, #173780, #122c66) !important;
    border: none !important;
}

.rfpd-promo-title {
    font-size: .9rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 6px;
}

.rfpd-promo-sub {
    font-size: .76rem;
    color: rgba(255,255,255,.65);
    line-height: 1.5;
    margin-bottom: 12px;
}

.rfpd-promo .rfpd-btn-primary {
    background: #ff8a00;
}

/* ── Expired state ── */
.rfpd-expired {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 24px;
}

.rfpd-expired-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(229,84,75,.08);
    border-bottom: 2px solid #e5544b;
    padding: 12px 22px;
    font-size: .84rem;
    font-weight: 700;
    color: #e5544b;
}

.rfpd-expired-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e5544b;
    flex-shrink: 0;
}

.rfpd-expired-body {
    padding: 24px 24px 20px;
}

.rfpd-expired-title {
    font-size: 1rem;
    font-weight: 800;
    color: #122c66;
    margin-bottom: 16px;
    line-height: 1.3;
}

.rfpd-expired-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f7f8fa;
    border: 1px solid #e6e8ef;
    border-radius: 9px;
    padding: 13px 16px;
    font-size: .82rem;
    color: #5c6480;
    line-height: 1.6;
    margin-bottom: 18px;
}

    .rfpd-expired-info svg {
        color: #9aa3bb;
        flex-shrink: 0;
        margin-top: 2px;
    }

.rfpd-expired-btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

    .rfpd-expired-btns .rfpd-btn-primary,
    .rfpd-expired-btns .rfpd-btn-outline,
    .rfpd-expired-btns .rfpd-btn-ghost {
        flex: 1;
        min-width: 140px;
        margin-bottom: 0;
    }

/* ── Related RFPs ── */
.rfpd-related {
    margin-top: 28px;
}

.rfpd-related-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.rfpd-related-title {
    font-size: .92rem;
    font-weight: 800;
    color: #122c66;
}

.rfpd-related-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .78rem;
    font-weight: 700;
    color: #ff8a00;
    text-decoration: none;
}

    .rfpd-related-link:hover {
        color: #e07a00;
    }

.rfpd-related-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rfpd-rel-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 10px;
    padding: 12px 14px;
    text-decoration: none;
    transition: box-shadow .15s, border-color .15s;
}

    .rfpd-rel-card:hover {
        box-shadow: 0 4px 14px rgba(23,55,128,.08);
        border-color: #d0d5e8;
    }

.rfpd-rel-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #eef1fa;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #173780;
}

.rfpd-rel-body {
    flex: 1;
    min-width: 0;
}

.rfpd-rel-org {
    font-size: .72rem;
    color: #9aa3bb;
    margin-bottom: 2px;
}

.rfpd-rel-title {
    font-size: .84rem;
    font-weight: 700;
    color: #173780;
    line-height: 1.3;
    margin-bottom: 6px;
}

.rfpd-rel-tags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.rfpd-rel-type {
    font-size: .68rem;
    font-weight: 700;
    background: rgba(23,55,128,.08);
    color: #173780;
    padding: 2px 8px;
    border-radius: 6px;
}

.rfpd-rel-deadline {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .68rem;
    color: #e5544b;
    font-weight: 600;
}

    .rfpd-rel-deadline svg {
        flex-shrink: 0;
    }

.rfpd-rel-arrow {
    color: #c8cfe0;
    flex-shrink: 0;
}

.rfpd-rel-card:hover .rfpd-rel-arrow {
    color: #ff8a00;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .rfpd-layout {
        grid-template-columns: 1fr;
    }

    .rfpd-side {
        position: static;
    }
}

@media (max-width: 600px) {
    .rfpd-pills {
        gap: 6px;
    }

    .rfpd-pill {
        padding: 6px 10px;
    }

    .rfpd-expired-btns {
        flex-direction: column;
    }

    .rfpd-expired-btns .rfpd-btn-primary,
    .rfpd-expired-btns .rfpd-btn-outline,
    .rfpd-expired-btns .rfpd-btn-ghost {
        min-width: unset;
    }
}

/* ── Tab Nav — matches sample exactly ── */
.rfpd-tabs {
    border-bottom: 2px solid #e6e8ef;
    margin-bottom: 18px;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    z-index: 10;
}

.rfpd-tab-list {
    display: flex;
    gap: 0;
    border-bottom: none !important;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rfpd-tabs .nav-link.rfpd-tab {
    font-size: 11px;
    font-weight: 700;
    color: #9aa3bb;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    padding: 10px 18px;
    margin-bottom: -2px;
    cursor: pointer;
    transition: color .15s, border-color .15s;
    white-space: nowrap;
    outline: none !important;
    box-shadow: none !important;
}

.rfpd-tabs .nav-link.rfpd-tab:hover {
    color: #173780;
    background: transparent !important;
    border-bottom-color: #d0d8ef !important;
}

.rfpd-tabs .nav-link.rfpd-tab.active,
.rfpd-tabs .nav-link.rfpd-tab.show.active {
    color: #173780 !important;
    font-weight: 700;
    background: transparent !important;
    border-bottom: 2px solid #ff8a00 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* badge */
.rfpd-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: #ff8a00;
    color: #fff;
    font-size: .6rem;
    font-weight: 800;
    border-radius: 20px;
    margin-left: 4px;
}

/* empty state card */
.rfpd-empty-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 20px;
    color: #9aa3bb;
}

    .rfpd-empty-card svg {
        margin-bottom: 12px;
        color: #d0d8ef;
    }

.rfpd-empty-text {
    font-size: .9rem;
    font-weight: 700;
    color: #5c6480;
    margin-bottom: 6px;
}

.rfpd-empty-sub {
    font-size: .78rem;
    color: #9aa3bb;
    max-width: 360px;
    line-height: 1.6;
}

@media (max-width: 600px) {
    .rfpd-tabs .nav-link.rfpd-tab {
        padding: 8px 12px;
        font-size: .78rem;
    }
}



/* rfp-dashboard.css — RFP Dashboard. Scoped under .rfpdb-shell */

/* ── Shell layout ── */
.rfpdb-shell {
    display: flex;
    min-height: calc(100vh - 60px);
    background: #f3f2f0;
}

/* ── Mobile toggle button ── */


/* ── Sidebar ── */
.rfpdb-side {
    width: 230px;
    flex-shrink: 0;
    background: #fff;
    border-right: 1px solid #e6e8ef;
    display: flex;
    flex-direction: column;
}

/* offcanvas head — mobile only */
.rfpdb-side-offcanvas-head {
    background: linear-gradient(135deg, #173780, #122c66);
    padding: 14px 18px;
    justify-content: space-between;
}

/* brand — desktop only */
.rfpdb-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    border-bottom: 1px solid #e6e8ef;
}

.rfpdb-brand-icon {
    width: 34px;
    height: 34px;
    background: #eef1fa;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .rfpdb-brand-icon svg {
        color: #173780;
    }

.rfpdb-brand-txt {
    font-size: .78rem;
    font-weight: 800;
    color: #173780;
    line-height: 1.2;
}

.rfpdb-brand-sub {
    font-size: .6rem;
    color: #9aa3bb;
}

/* nav */
.rfpdb-nav {
    padding: 10px;
    flex: 1;
    overflow-y: auto;
}

.rfpdb-nav-section {
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #c8cfe0;
    padding: 10px 8px 5px;
}

.rfpdb-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 8px;
    font-size: .8rem;
    font-weight: 600;
    color: #5c6480;
    text-decoration: none;
    margin-bottom: 2px;
    transition: background .15s, color .15s;
}

    .rfpdb-nav-item svg {
        color: #9aa3bb;
        flex-shrink: 0;
        transition: color .15s;
    }

    .rfpdb-nav-item:hover {
        background: #f7f8fa;
        color: #173780;
        text-decoration: none;
    }

        .rfpdb-nav-item:hover svg {
            color: #173780;
        }

    .rfpdb-nav-item.active {
        background: #eef1fa;
        color: #173780;
        font-weight: 700;
    }

        .rfpdb-nav-item.active svg {
            color: #ff8a00;
        }

.rfpdb-nav-badge {
    margin-left: auto;
    font-size: .58rem;
    font-weight: 800;
    background: rgba(255,138,0,.12);
    color: #c95d1a;
    padding: 1px 7px;
    border-radius: 20px;
}

/* post CTA */
.rfpdb-post-cta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px;
    background: #ff8a00;
    color: #fff;
    border-radius: 9px;
    padding: 10px 12px;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s;
}

.rfpdb-post-cta:hover {
    background: #e07a00;
    color: #fff;
}

.rfpdb-post-cta svg {
    flex-shrink: 0;
}

/* ── Main ── */
.rfpdb-main {
    flex: 1;
    min-width: 0;
    padding: 1rem 2.5rem 2.5rem 1rem;
    overflow-y: auto;
}

/* page head */
.rfpdb-page-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;

}

.rfpdb-page-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #122c66;
    margin: 0;
}

.rfpdb-page-sub {
    font-size: .76rem;
    color: #9aa3bb;
    margin-top: 3px;
    margin-bottom:0px;
}

/* stat cards */
/* stat cards */
.stats {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px;
    margin-bottom: 18px;
}

.stat {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 14px 16px;
}

.stat-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.stat-icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .stat-icon.orange {
        background: rgba(255,138,0,.1);
    }

    .stat-icon.navy {
        background: rgba(23,55,128,.08);
    }

    .stat-icon.green {
        background: rgba(31,170,89,.1);
    }

    .stat-icon.red {
        background: rgba(229,84,75,.1);
    }

    .stat-icon svg {
        width: 18px;
        height: 18px;
    }

    .stat-icon.orange svg {
        color: #ff8a00;
    }

    .stat-icon.navy svg {
        color: #173780;
    }

    .stat-icon.green svg {
        color: #1faa59;
    }

    .stat-icon.red svg {
        color: #e5544b;
    }

.stat-n {
    font-size: 1.6rem;
    font-weight: 800;
    color: #122c66;
}

.stat-t {
    font-size: .72rem;
    color: #8a93ad;
    margin-top: 2px;
}

.stat-delta {
    font-size: .68rem;
    font-weight: 700;
    color: #1faa59;
}

/* section head + toolbar */
.rfpdb-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.rfpdb-section-title {
    font-size: .9rem;
    font-weight: 800;
    color: #122c66;
    margin: 0;
}

.rfpdb-toolbar {
    display: flex;
    gap: 8px;
    align-items: center;
    flex: 1;
}

.rfpdb-search {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 9px;
    padding: 0 4px;
    height: 38px;
    flex: 1;
}

    .rfpdb-search svg {
        color: #9aa3bb;
        flex-shrink: 0;
    }

    .rfpdb-search input {
        border: none;
        outline: none;
        font-size: .82rem;
        color: #1e2640;
        background: transparent;
        flex: 1;
    }

        .rfpdb-search input::placeholder {
            color: #b0b7c9;
        }

    .rfpdb-search:focus-within {
        border-color: #ff8a00;
    }

.rfpdb-search-inner-btn {
    background: #ff8a00;
    color: #fff;
    border: none;
    border-radius: 7px;
    padding: 5px 14px;
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s;
    flex-shrink: 0;
}

    .rfpdb-search-inner-btn:hover {
        background: #e07a00;
    }

.rfpdb-filter-select {
    height: 38px;
    border: 1px solid #e6e8ef;
    border-radius: 9px;
    padding: 0 12px;
    font-size: .8rem;
    color: #5c6480;
    background: #fff;
    outline: none;
    cursor: pointer;
}

/* ── Posting cards ── */
.rfpdb-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: box-shadow .15s, border-color .15s;
}

    .rfpdb-card:hover {
        box-shadow: 0 4px 16px rgba(23,55,128,.08);
        border-color: #d0d5e8;
    }

.rfpdb-card-live {
    border-left: 3px solid #1faa59;
}

.rfpdb-card-urgent {
    border-left: 3px solid #e5544b;
}

.rfpdb-card-expired {
    border-left: 3px solid #e6e8ef;
    opacity: .8;
}

/* logo */
.rfpdb-card-logo {
    width: 44px;
    height: 44px;
    border-radius: 9px;
    background: #eef1fa;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .rfpdb-card-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.rfpdb-card-initials {
    font-size: .76rem;
    font-weight: 800;
    color: #173780;
}

/* body */
.rfpdb-card-body {
    flex: 1;
    min-width: 0;
}

.rfpdb-card-top {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.rfpdb-card-title {
    font-size: .88rem;
    font-weight: 700;
    color: #173780;
    line-height: 1.3;
}

.rfpdb-badge {
    font-size: .6rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    white-space: nowrap;
}

.rfpdb-badge-live {
    background: rgba(31,170,89,.1);
    color: #1faa59;
}

.rfpdb-badge-urgent {
    background: rgba(229,84,75,.1);
    color: #e5544b;
}

.rfpdb-badge-expired {
    background: #f3f2f0;
    color: #9aa3bb;
}

.rfpdb-badge-type {
    background: rgba(23,55,128,.08);
    color: #173780;
}

/* meta */
.rfpdb-card-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.rfpdb-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .72rem;
    color: #8a93ad;
}

    .rfpdb-meta-item svg {
        color: #c8cfe0;
        flex-shrink: 0;
    }

    .rfpdb-meta-item.rfpdb-meta-urgent {
        color: #e5544b;
        font-weight: 700;
    }

        .rfpdb-meta-item.rfpdb-meta-urgent svg {
            color: #e5544b;
        }

/* actions */
.rfpdb-card-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

/* empty state */
.rfpdb-empty {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 52px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

    .rfpdb-empty svg {
        color: #d0d8ef;
        margin-bottom: 6px;
    }

    .rfpdb-empty h4 {
        font-size: .92rem;
        font-weight: 800;
        color: #5c6480;
    }

    .rfpdb-empty p {
        font-size: .78rem;
        color: #9aa3bb;
        max-width: 300px;
        line-height: 1.6;
    }

.rfpdb-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ff8a00;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    padding: 9px 20px;
    border-radius: 8px;
    text-decoration: none;
    margin-top: 4px;
    transition: background .15s;
}

    .rfpdb-empty-btn:hover {
        background: #e07a00;
        color: #fff;
    }

/* ── Bottom nav — mobile only ── */
.rfpdb-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: #fff;
    border-top: 1px solid #e6e8ef;
    z-index: 100;
    align-items: stretch;
    box-shadow: 0 -2px 12px rgba(23,55,128,.08);
}

.rfpdb-bn-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-decoration: none;
    color: #9aa3bb;
    font-size: .6rem;
    font-weight: 600;
    transition: color .15s;
}

    .rfpdb-bn-item svg {
        color: #9aa3bb;
        transition: color .15s;
    }

    .rfpdb-bn-item.active,
    .rfpdb-bn-item:hover {
        color: #ff8a00;
    }

        .rfpdb-bn-item.active svg,
        .rfpdb-bn-item:hover svg {
            color: #ff8a00;
        }

/* ── Responsive ── */
@media (max-width: 991px) {
    .rfpdb-side {
        display: none;
    }

    .rfpdb-bottom-nav {
        display: flex;
    }

    .rfpdb-main {
        padding: 16px;
        padding-bottom: 76px; /* clear bottom nav */
    }

    .rfpdb-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .rfpdb-card {
        flex-wrap: wrap;
    }

    .rfpdb-card-actions {
        width: 100%;
        margin-top: 8px;
    }

    .rfpdb-btn-view,
    .rfpdb-btn-corr {
        flex: 1;
        justify-content: center;
    }
}

@media (max-width: 540px) {
    .rfpdb-stats {
        grid-template-columns: 1fr;
    }

    .rfpdb-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .rfpdb-toolbar {
        width: 100%;
    }

    .rfpdb-search {
        flex: 1;
    }
}

.rfpdb-draft-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #fffaf3;
    border: 1px solid #ffd9a8;
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 16px;
}

    .rfpdb-draft-info svg {
        color: #ff8a00;
        flex-shrink: 0;
        margin-top: 1px;
    }

.rfpdb-draft-info-text {
    font-size: .78rem;
    color: #7c4a00;
    line-height: 1.5;
}

    .rfpdb-draft-info-text strong {
        color: #c95d1a;
        font-weight: 700;
        display: block;
        margin-bottom: 2px;
    }

/* rfp-dashboard.css — RFP Dashboard. Scoped under .rfpdb-shell */

/* ── Shell layout ── */
.rfpdb-shell {
    display: flex;
    min-height: calc(100vh - 60px);
    background: #f3f2f0;
}

/* ── Mobile toggle button ── */


/* ── Sidebar ── */
.rfpdb-side {
    width: 230px;
    flex-shrink: 0;
    background: #fff;
    border-right: 1px solid #e6e8ef;
    display: flex;
    flex-direction: column;
}

/* offcanvas head — mobile only */
.rfpdb-side-offcanvas-head {
    background: linear-gradient(135deg, #173780, #122c66);
    padding: 14px 18px;
    justify-content: space-between;
}

/* brand — desktop only */
.rfpdb-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    border-bottom: 1px solid #e6e8ef;
}

.rfpdb-brand-icon {
    width: 34px;
    height: 34px;
    background: #eef1fa;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .rfpdb-brand-icon svg {
        color: #173780;
    }

.rfpdb-brand-txt {
    font-size: .78rem;
    font-weight: 800;
    color: #173780;
    line-height: 1.2;
}

.rfpdb-brand-sub {
    font-size: .6rem;
    color: #9aa3bb;
}

/* nav */
.rfpdb-nav {
    padding: 10px;
    flex: 1;
    overflow-y: auto;
}

.rfpdb-nav-section {
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #c8cfe0;
    padding: 10px 8px 5px;
}

.rfpdb-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 8px;
    font-size: .8rem;
    font-weight: 600;
    color: #5c6480;
    text-decoration: none;
    margin-bottom: 2px;
    transition: background .15s, color .15s;
}

    .rfpdb-nav-item svg {
        color: #9aa3bb;
        flex-shrink: 0;
        transition: color .15s;
    }

    .rfpdb-nav-item:hover {
        background: #f7f8fa;
        color: #173780;
        text-decoration: none;
    }

        .rfpdb-nav-item:hover svg {
            color: #173780;
        }

    .rfpdb-nav-item.active {
        background: #eef1fa;
        color: #173780;
        font-weight: 700;
    }

        .rfpdb-nav-item.active svg {
            color: #ff8a00;
        }

.rfpdb-nav-badge {
    margin-left: auto;
    font-size: .58rem;
    font-weight: 800;
    background: rgba(255,138,0,.12);
    color: #c95d1a;
    padding: 1px 7px;
    border-radius: 20px;
}

/* post CTA */
.rfpdb-post-cta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px;
    background: #ff8a00;
    color: #fff;
    border-radius: 9px;
    padding: 10px 12px;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s;
}

    .rfpdb-post-cta:hover {
        background: #e07a00;
        color: #fff;
    }

    .rfpdb-post-cta svg {
        flex-shrink: 0;
    }

.rfpdb-page-sub {
    font-size: .76rem;
    color: #9aa3bb;
    margin-top: 3px;
}

/* stat cards */
.rfpdb-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 22px;
}

.rfpdb-stat {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.rfpdb-stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rfpdb-icon-orange {
    background: rgba(255,138,0,.1);
}

    .rfpdb-icon-orange svg {
        color: #ff8a00;
    }

.rfpdb-icon-navy {
    background: rgba(23,55,128,.08);
}

    .rfpdb-icon-navy svg {
        color: #173780;
    }

.rfpdb-icon-muted {
    background: #f3f2f0;
}

    .rfpdb-icon-muted svg {
        color: #9aa3bb;
    }

.rfpdb-stat-n {
    font-size: 1.5rem;
    font-weight: 800;
    color: #122c66;
    line-height: 1;
}

    .rfpdb-stat-n.rfpdb-stat-urgent {
        color: #e5544b;
    }

.rfpdb-stat-t {
    font-size: .7rem;
    color: #9aa3bb;
    margin-top: 3px;
}

/* section head + toolbar */
.rfpdb-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.rfpdb-section-title {
    font-size: .9rem;
    font-weight: 800;
    color: #122c66;
    margin: 0;
}

.rfpdb-toolbar {
    display: flex;
    gap: 8px;
    align-items: center;
}

.rfpdb-search {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 9px;
    padding: 0 12px;
    height: 38px;
    min-width: 220px;
}

    .rfpdb-search svg {
        color: #9aa3bb;
        flex-shrink: 0;
    }

    .rfpdb-search input {
        border: none;
        outline: none;
        font-size: .82rem;
        color: #1e2640;
        background: transparent;
        flex: 1;
    }

        .rfpdb-search input::placeholder {
            color: #b0b7c9;
        }

    .rfpdb-search:focus-within {
        border-color: #ff8a00;
    }

.rfpdb-filter-select {
    height: 38px;
    border: 1px solid #e6e8ef;
    border-radius: 9px;
    padding: 0 12px;
    font-size: .8rem;
    color: #5c6480;
    background: #fff;
    outline: none;
    cursor: pointer;
}

/* ── Posting cards ── */
.rfpdb-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: box-shadow .15s, border-color .15s;
}

    .rfpdb-card:hover {
        box-shadow: 0 4px 16px rgba(23,55,128,.08);
        border-color: #d0d5e8;
    }

.rfpdb-card-live {
    border-left: 3px solid #1faa59;
}

.rfpdb-card-urgent {
    border-left: 3px solid #e5544b;
}

.rfpdb-card-expired {
    border-left: 3px solid #e6e8ef;
    opacity: .8;
}

/* logo */
.rfpdb-card-logo {
    width: 44px;
    height: 44px;
    border-radius: 9px;
    background: #eef1fa;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .rfpdb-card-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.rfpdb-card-initials {
    font-size: .76rem;
    font-weight: 800;
    color: #173780;
}

/* body */
.rfpdb-card-body {
    flex: 1;
    min-width: 0;
}

.rfpdb-card-top {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.rfpdb-card-title {
    font-size: .88rem;
    font-weight: 700;
    color: #173780;
    line-height: 1.3;
}

.rfpdb-badge {
    font-size: .6rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    white-space: nowrap;
}

.rfpdb-badge-live {
    background: rgba(31,170,89,.1);
    color: #1faa59;
}

.rfpdb-badge-urgent {
    background: rgba(229,84,75,.1);
    color: #e5544b;
}

.rfpdb-badge-expired {
    background: #f3f2f0;
    color: #9aa3bb;
}

.rfpdb-badge-type {
    background: rgba(23,55,128,.08);
    color: #173780;
}

/* meta */
.rfpdb-card-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.rfpdb-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .72rem;
    color: #8a93ad;
}

    .rfpdb-meta-item svg {
        color: #c8cfe0;
        flex-shrink: 0;
    }

    .rfpdb-meta-item.rfpdb-meta-urgent {
        color: #e5544b;
        font-weight: 700;
    }

        .rfpdb-meta-item.rfpdb-meta-urgent svg {
            color: #e5544b;
        }

/* actions */
.rfpdb-card-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.rfpdb-btn-view {
    display: inline-flex;
    align-items: center;
    font-size: .74rem;
    font-weight: 700;
    padding: 7px 14px;
    border-radius: 7px;
    background: #eef1fa;
    color: #173780;
    text-decoration: none;
    transition: background .15s;
    border: none;
    cursor: pointer;
}

    .rfpdb-btn-view:hover {
        background: #dde4f5;
        color: #173780;
    }

.rfpdb-btn-corr {
    display: inline-flex;
    align-items: center;
    font-size: .74rem;
    font-weight: 700;
    padding: 7px 14px;
    border-radius: 7px;
    background: rgba(255,138,0,.1);
    color: #c95d1a;
    border: none;
    cursor: pointer;
    transition: background .15s;
}

    .rfpdb-btn-corr:hover {
        background: rgba(255,138,0,.18);
    }

/* empty state */
.rfpdb-empty {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 52px 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

    .rfpdb-empty svg {
        color: #d0d8ef;
        margin-bottom: 6px;
    }

    .rfpdb-empty h4 {
        font-size: .92rem;
        font-weight: 800;
        color: #5c6480;
    }

    .rfpdb-empty p {
        font-size: .78rem;
        color: #9aa3bb;
        max-width: 300px;
        line-height: 1.6;
    }

.rfpdb-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #ff8a00;
    color: #fff;
    font-size: .8rem;
    font-weight: 700;
    padding: 9px 20px;
    border-radius: 8px;
    text-decoration: none;
    margin-top: 4px;
    transition: background .15s;
}

    .rfpdb-empty-btn:hover {
        background: #e07a00;
        color: #fff;
    }

/* ── Bottom nav — mobile only ── */
.rfpdb-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: #fff;
    border-top: 1px solid #e6e8ef;
    z-index: 100;
    align-items: stretch;
    box-shadow: 0 -2px 12px rgba(23,55,128,.08);
}

.rfpdb-bn-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-decoration: none;
    color: #9aa3bb;
    font-size: .6rem;
    font-weight: 600;
    transition: color .15s;
}

    .rfpdb-bn-item svg {
        color: #9aa3bb;
        transition: color .15s;
    }

    .rfpdb-bn-item.active,
    .rfpdb-bn-item:hover {
        color: #ff8a00;
    }

        .rfpdb-bn-item.active svg,
        .rfpdb-bn-item:hover svg {
            color: #ff8a00;
        }

/* ── Responsive ── */
@media (max-width: 991px) {
    .rfpdb-side {
        display: none;
    }

    .rfpdb-bottom-nav {
        display: flex;
    }

    .rfpdb-main {
        padding: 16px;
        padding-bottom: 76px; /* clear bottom nav */
    }

    .rfpdb-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .rfpdb-card {
        flex-wrap: wrap;
    }

    .rfpdb-card-actions {
        width: 100%;
        margin-top: 8px;
    }

    .rfpdb-btn-view,
    .rfpdb-btn-corr {
        flex: 1;
        justify-content: center;
    }
}

@media (max-width: 540px) {
    .rfpdb-stats {
        grid-template-columns: 1fr;
    }

    .rfpdb-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .rfpdb-toolbar {
        width: 100%;
    }

    .rfpdb-search {
        flex: 1;
    }
}

/* ── Preview page ── */
.rfpdb-page-head-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

.prev-layout {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 18px;
}

.prev-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.prev-side {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 16px;
}

.prev-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    height:100%;
}

.prev-card-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid #f0f1f5;
}

.prev-logo {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #eef1fa;
    flex-shrink: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .prev-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

.prev-logo-init {
    font-size: .82rem;
    font-weight: 800;
    color: #173780;
}

.prev-title {
    font-size: .94rem;
    font-weight: 800;
    color: #122c66;
    line-height: 1.3;
    margin-bottom: 3px;
}

.prev-org {
    font-size: .76rem;
    color: #5c6480;
}

.prev-sec-title {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #173780;
    padding: 14px 18px 10px;
    border-bottom: 1px solid #f0f1f5;
}

.prev-info-row {
    display: flex;
    gap: 14px;
    padding: 10px 18px;
    border-bottom: 1px solid #f7f8fa;
    font-size: .82rem;
}

    .prev-info-row:last-child {
        border-bottom: none;
    }

.prev-info-label {
    color: #9aa3bb;
    font-weight: 600;
    min-width: 160px;
    flex-shrink: 0;
}

.prev-info-value {
    color: #1e2640;
}

    .prev-info-value a {
        color: #173780;
        text-decoration: none;
    }

        .prev-info-value a:hover {
            color: #ff8a00;
        }

.prev-doc-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 18px;
    border-bottom: 1px solid #f7f8fa;
}

    .prev-doc-row:last-child {
        border-bottom: none;
    }

.prev-doc-icon {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: #eef1fa;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .prev-doc-icon svg {
        color: #173780;
    }

.prev-doc-name {
    flex: 1;
    font-size: .82rem;
    font-weight: 600;
    color: #173780;
}

.prev-doc-dl {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .76rem;
    font-weight: 700;
    color: #ff8a00;
    text-decoration: none;
}

    .prev-doc-dl:hover {
        color: #e07a00;
    }

.prev-desc {
    padding: 16px 18px;
    font-size: .84rem;
    color: #44506b;
    line-height: 1.75;
}

    .prev-desc p {
        margin-bottom: .75rem;
    }

/* sidebar */
.prev-side-card {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    padding: 16px 18px;
}

.prev-side-sec {
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #9aa3bb;
    margin-bottom: 10px;
}

.prev-side-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #f7f8fa;
}

    .prev-side-row:last-child {
        border-bottom: none;
    }

.prev-side-icon {
    width: 28px;
    height: 28px;
    border-radius: 7px;
    background: #eef1fa;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .prev-side-icon svg {
        color: #ff8a00;
    }

.prev-side-label {
    font-size: .68rem;
    color: #9aa3bb;
    font-weight: 600;
    margin-bottom: 2px;
}

.prev-side-val {
    font-size: .8rem;
    font-weight: 700;
    color: #173780;
    word-break: break-word;
}

    .prev-side-val a {
        color: #173780;
        text-decoration: none;
    }

        .prev-side-val a:hover {
            color: #ff8a00;
        }

@media (max-width: 900px) {
    .prev-layout {
        grid-template-columns: 1fr;
    }

    .prev-side {
        position: static;
    }
}


/* ── Checkout page ── */
.co-steps {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 22px;
}

.co-step {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .76rem;
    font-weight: 700;
    color: #9aa3bb;
}

.co-step-dot {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #e6e8ef;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .62rem;
    font-weight: 800;
    flex-shrink: 0;
    background: #fff;
    color: #9aa3bb;
}

.co-dot-done {
    background: #1faa59;
    border-color: #1faa59;
    color: #fff;
}

.co-dot-active {
    background: #173780;
    border-color: #173780;
    color: #fff;
}

.co-done {
    color: #1faa59;
}

.co-active {
    color: #173780;
}

.co-step-line {
    flex: 1;
    height: 1px;
    background: #e6e8ef;
    margin: 0 10px;
    max-width: 50px;
}

.co-line-done {
    background: #1faa59;
}

.co-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 20px;
    align-items: start;
    margin-bottom:50px;
}

.co-main {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height:100%;
}

/* plan card head */
.co-plan-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 20px;
    border-bottom: 1px solid #f0f1f5;
    background: linear-gradient(135deg, #173780, #122c66);
    border-radius: 12px 12px 0 0;
}

.co-plan-icon {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    background: rgba(255,255,255,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.co-plan-info {
    flex: 1;
}

.co-plan-title {
    font-size: .8rem;
    font-weight: 800;
    color: #fff;
}

.co-plan-price {
    font-size: .76rem;
    color: rgba(255,255,255,.65);
}

    .co-plan-price strong {
        color: #ff8a00;
    }

/* quantity */
.co-qty {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,.1);
    border-radius: 8px;
    padding: 4px 8px;
}

.co-qty-btn {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: rgba(255,255,255,.15);
    color: #fff;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}

    .co-qty-btn:hover {
        background: rgba(255,255,255,.25);
    }

.co-qty-input {
    width: 36px;
    text-align: center;
    background: transparent;
    border: none;
    outline: none;
    color: #fff;
    font-size: .88rem;
    font-weight: 700;
}

.co-plan-body {
    padding: 16px 20px;
}

.co-plan-desc {
    font-size: .82rem;
    color: #5c6480;
    line-height: 1.6;
    margin-bottom: 12px;
}

.co-plan-feats {
    font-size: .8rem;
    color: #44506b;
}

    .co-plan-feats ul {
        padding-left: 16px;
        margin: 0;
    }

    .co-plan-feats li {
        margin-bottom: 5px;
        line-height: 1.5;
    }

/* GST */
.co-gst-body {
    padding: 14px 20px;
}

.co-gst-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    cursor: pointer;
}

.co-checkbox {
    accent-color: #ff8a00;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.co-gst-check-label {
    font-size: .82rem;
    font-weight: 600;
    color: #5c6480;
    cursor: pointer;
}

#gstFields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:6px;
}

.co-form-group {
    position:relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.co-form-full {
    grid-column: 1 / -1;
}

.co-label {
    font-size: .72rem;
    font-weight: 700;
    color: #5c6480;
}

.co-input {
    height: 35px;
    border: 1.5px solid #e6e8ef;
    border-radius: 8px;
    padding: 0 5px;
    font-size: .7rem;
    outline: none;
    transition: border-color .15s;
}


.co-input:focus, .co-input-textarea:focus {
    border-color: #ff8a00;
}

.co-input-textarea {
    border: 1.5px solid #e6e8ef;
    border-radius: 8px;
    padding: 0 5px;
    font-size: .7rem;
    outline: none;
    transition: border-color .15s;
}

.co-error {
    font-size: .7rem;
    color: #e5544b;
}

.co-gst-hint {
    font-size: .7rem;
    color: #1faa59;
    margin-top: 2px;
    display: block;
}

/* order summary */
.co-summary {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: 12px;
    overflow: hidden;
    position: sticky;
    top: 16px;
    height:100%;
}

.co-summary-head {
    background: linear-gradient(135deg, #173780, #122c66);
    padding: 14px 18px;
}

.co-summary-title {
    font-size: .88rem;
    font-weight: 800;
    color: #fff;
}

.co-summary-sub {
    font-size: .7rem;
    color: rgba(255,255,255,.6);
    margin-top: 2px;
}

.co-summary-body {
    padding: 16px 18px;
}

.co-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f7f8fa;
    font-size: .82rem;
}

    .co-summary-row:last-of-type {
        border-bottom: none;
    }

.co-summary-label {
    color: #5c6480;
}

.co-summary-val {
    font-weight: 700;
    color: #173780;
}

    .co-summary-val.co-tax {
        color: #9aa3bb;
        font-weight: 600;
    }

.co-tax {
    color: #9aa3bb;
    font-weight: 600;
}

.co-summary-divider {
    height: 1px;
    background: #e6e8ef;
    margin: 10px 0;
}

.co-summary-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
}

.co-summary-total-label {
    font-size: .88rem;
    font-weight: 800;
    color: #122c66;
}

.co-summary-total-val {
    font-size: 1.2rem;
    font-weight: 800;
    color: #ff8a00;
}

.co-summary-note {
    font-size: .68rem;
    color: #9aa3bb;
    text-align: center;
    margin: 8px 0 14px;
    line-height: 1.5;
}

.co-btn-pay {
    width: 100%;
    height: 48px;
    background: #ff8a00;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    border: none;
    border-radius: 9px;
    cursor: pointer;
    display: block;
    margin-bottom: 8px;
    transition: background .15s;
}

    .co-btn-pay:hover {
        background: #e07a00;
    }

.co-btn-cancel {
    width: 100%;
    height: 38px;
    background: #fff;
    color: #9aa3bb;
    border: 1.5px solid #e6e8ef;
    border-radius: 9px;
    font-size: .8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: border-color .15s;
}

    .co-btn-cancel:hover {
        border-color: #9aa3bb;
        color: #5c6480;
    }

.co-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: .68rem;
    color: #9aa3bb;
    margin-top: 10px;
}

    .co-secure svg {
        color: #1faa59;
    }

@media (max-width: 900px) {
    .co-layout {
        grid-template-columns: 1fr;
    }

    .co-summary {
        position: static;
    }

    #gstFields {
        grid-template-columns: 1fr;
    }
}

