@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
   --blue:#003366;
            --navy:#0F2A54;
            --navy2:#1A3D6E;
            --teal:#006699;
            --green:#007A4D;
            --orange:#E87722;
            --gold:#193b6b;
            --red:#DC2626;
            --light:#F0F6FF;
            --border:#D1DFF0;
            --text:#1A1A2E;
            --muted:#6B7A8D;
            --white:#FFFFFF;
            --vanilla: #FEF3C7;
            --light-grayish: #FEE2E2;
            --green-100: #DCFCE7;
            --dark-amber: #B45309;
            --shadow:0 2px 16px rgba(0,51,102,0.10);
            --shadow-lg:0 8px 40px rgba(0,51,102,0.16);
            --nsf-blue:#1A3D6E;           
            --page-bg:    #EEF3FA; 
            --text-dark:  #1A1A2E;         
            --text-muted: #6B7A8D;         
            --input-bg:   #F0F6FF;         
            --link-blue:  #006699;    
            --green-bg: #DCFCE7;
             --amber-text: #B45309;
            --amber-bg: #FEF3C7;
            --gray-bg:  #F3F4F6;
            --red-bg:   #FEF2F2;
            --card-border: rgba(0,0,0,0.18);               
            --card-radius: 12px;
  
}

* { box-sizing: border-box; margin: 0; padding: 0; font-family: "Inter", sans-serif !important;}
html { scroll-behavior: smooth; }
body {color: var(--text); font-size: 14px; line-height: 1.6;}
input.hasDatepicker{    background-image: url(/mdi_calendar-month.svg) !important;
    background-position: bottom 12px right 13px !important;
    background-repeat: no-repeat !important;
    position: relative;
    background-size: 12px;
    cursor: pointer;}
.row.sectionBlockLayout.text-start{display: none !important;}
.public-portal {background: var(--white); padding-top: 68px; }
.signup {min-height: 100vh; background: linear-gradient(135deg,#001a3a 0%,#003366 40%,#005580 70%,#006699 100%); display: flex; flex-direction: column; position: relative; overflow-x: hidden; }
.funding {background:#EEF3FA;}
.Progress_header{display: flex;}
/* Overall Progress */
.Overall-progress-side{
  /* height: calc(100vh - 530px); */
    position: sticky;
    top: 68px;
    z-index: 999;
}
.overall-progress-card {
    width: 100%;
    background: linear-gradient(135deg,var(--navy) 0%,var(--teal) 100%);
    display: flex;
    padding: 10px 30px;
    gap: 50px;
    align-items: center;
}
.overall-progress-card h3 {
    font-size: 20px;
    color: white;
    font-weight: 600;
    flex: 0 0 19%;
    margin: 0;
}
.overall-progress-card .all-step-count{
        margin: 0;
    font-size: 14px;
    color: #fff;
}
.overall-progress-track {
    position: relative;
    width: 100%;
    height: 15px;
    background: #f5f5f5;
    border-radius: 22px;
    overflow: hidden;
}

.overall-progress-fill {
    position: relative;
    width: var(--progress-width, 0%);
    height: 15px;

    background-color: #59d36f;

    background-image: repeating-linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.20) 0px,
        rgba(255, 255, 255, 0.20) 12px,
        rgba(255, 255, 255, 0) 12px,
        rgba(255, 255, 255, 0) 24px
    );

    background-size: 48px 48px;

    border-radius: 22px 0 0 22px;

    animation: progress-stripes 1s linear infinite;

    transition: width 0.8s ease-in-out;
}

/* Percentage */
.overall-progress-fill::after {
    content: var(--progress-text, "0%");

    position: absolute;
    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);

    color: #003366;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

/* Moving diagonal stripes */
@keyframes progress-stripes {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 48px 0;
    }
}
/* =========================================
   OVERALL PROGRESS SIDE
========================================= */
/* .side-complete-progress-register{
      background: var(--white);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 68px;
    z-index: 200;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    height: calc(100vh - 70px);
    overflow: auto;
    width: 230px;
    padding: 10px;
} */
/* .Overall-progress-side {
    width: 100%;
    max-width: 315px;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
} */


/* =========================================
   OVERALL PROGRESS
========================================= */
/* 
.Overall-progress-side .overall-progress-card {
    background: #f5f8fa;
    border-radius: 15px;
    padding: 20px 18px 17px;
    margin-bottom: 16px;
    box-sizing: border-box;
}

.Overall-progress-side .overall-progress-card h3 {
    margin: 0 0 12px;
    color: #405a74;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.7px;
}

.Overall-progress-side .overall-progress-track {
    width: 100%;
    height: 7px;
    background: #dce2e7;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 7px;
}

.Overall-progress-side .overall-progress-fill {
    width: 8.57%;
    height: 100%;
    background: #087f6c;
    border-radius: 10px;
}

.Overall-progress-side .overall-progress-card p {
    margin: 0;
    color: #405a74;
    font-size: 13px;
    line-height: 1.4;
} */


/* =========================================
   SECTION SNAPSHOT
========================================= */
/* 
.Overall-progress-side .section-snapshot-card {
    background: #f5f8fa;
    border-radius: 15px;
    padding: 20px 18px 8px;
    margin-bottom: 16px;
    box-sizing: border-box;
}

.Overall-progress-side .section-snapshot-card h3 {
    margin: 0 0 12px;
    color: var(--navy);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.7px;
}

.Overall-progress-side .snapshot-list {
    width: 100%;
}

.Overall-progress-side .snapshot-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 50px;
    padding: 7px 0;
    border-bottom: 1px solid #d9e0e5;
    box-sizing: border-box;
}

.Overall-progress-side .snapshot-item:last-child {
    border-bottom: none;
}

.Overall-progress-side .snapshot-name {
    flex: 1 1 auto;
    min-width: 0;
    color: #405a74;
    font-size: 11px;
    line-height: 1.2;
}

.Overall-progress-side .snapshot-status {
    flex: 0 0 76px;
    text-align: right;
    color: #7b8794;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 500;
}

.Overall-progress-side .snapshot-status.complete {
    color: #006b58;
    font-weight: 700;
} */


/* =========================================
   WHY WE ASK
========================================= */
/* 
.Overall-progress-side .why-we-ask-card {
    background: #fff0d8;
    border-radius: 12px;
    padding: 17px 18px 16px;
    box-sizing: border-box;
}

.Overall-progress-side .why-we-ask-title {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 6px;
    color: #171717;
    font-size: 14px;
    line-height: 1.3;
}

.Overall-progress-side .why-we-ask-icon {
    font-size: 15px;
    line-height: 1;
}

.Overall-progress-side .why-we-ask-card p {
    margin: 0 0 0 27px;
    color: #563b1c;
    font-size: 14px;
    line-height: 1.5;
} */



/* Portal page styles */
.public-portal .topnav{position:fixed;top:0;left:0;right:0;z-index:500;background:rgba(255,255,255,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:68px;display:flex;align-items:center;padding:0 48px;gap:28px;}
.public-portal .topnav .navbar-collapse .menu-bar{display: flex;justify-content: space-between;width: 100%;}
.public-portal .nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.public-portal .nav-logo .logo-box{width:42px;height:42px;background:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;}
.public-portal .nav-logo .lt h2{font-size:16px;font-weight:800;color:var(--blue);}
.public-portal .nav-logo .lt p{font-size:10px;color:var(--muted);margin-top:-1px;}
.public-portal .weblinks{display:flex;gap:4px;margin-left:28px;}
.public-portal .static-top.navbar .menu-bar > .navbar-nav > li > a{padding:7px 14px !important;border-radius:8px;font-size:13px !important;font-weight:600 !important;color:var(--muted);text-decoration:none;transition:all 0.18s;cursor:pointer;font-family: "Inter", sans-serif;}
.public-portal .static-top.navbar .menu-bar > .navbar-nav > li >a:hover, .public-portal .weblinks li a.active{color:var(--teal);background:var(--light);}
.public-portal .nav-right{margin-left:auto;display:flex;gap:10px;align-items:center;}
.public-portal .btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all 0.18s;text-decoration:none;font-family: "Inter", sans-serif;}
.public-portal .btn-outline{background:transparent;color:var(--teal);border:1.5px solid var(--teal);}
.public-portal .btn-outline:hover{background:var(--light);color: var(--navy)}
.public-portal .btn-primary{background:var(--teal);color:var(--white);}
.public-portal .btn-primary:hover{background:var(--blue);}
.public-portal .btn-green{background:var(--green);color:var(--white);}
.public-portal .btn-green:hover{background:#005C38;}
.public-portal .btn-orange{background:var(--orange);color:var(--white);}
.public-portal .btn-orange:hover{background:#C5621A;}
.public-portal .btn-ghost{background:var(--light);color:var(--blue);border:1px solid var(--border);text-decoration: none}
.public-portal .btn-ghost:hover{background:#DDE8F5;text-decoration: none;}
.public-portal .btn-lg{padding:13px 28px;font-size:15px;}
.public-portal .btn-sm{padding:6px 14px;font-size:12px;}
.public-portal .btn-white{background:var(--white);color:var(--blue);border:none;}
.public-portal .btn-white:hover{background:var(--light);}
/* .public-portal .page{display:none;} .public-portal .page.active{display:block;} */

.public-portal .hero{background:linear-gradient(135deg,var(--blue) 0%,#004D99 50%,var(--teal) 100%);min-height:88vh;display:flex;align-items:center;position:relative;overflow:hidden;}
.public-portal .hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.public-portal .hero-content{max-width:1200px;margin:0 auto;padding:60px 48px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;width:100%;}
.public-portal .hero-text{color:var(--white);}
.public-portal .hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;color:rgba(255,255,255,0.85);margin-bottom:22px;}
.public-portal .hero-text h1{font-size:44px;font-weight:900;line-height:1.15;margin-bottom:20px;color:var(--white)}
.public-portal .hero-text h1 span{color:var(--gold);}
.public-portal .hero-text p{font-size:16px;color:rgba(255,255,255,0.8);margin-bottom:32px;line-height:1.7;}
.public-portal .hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.public-portal .hero-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:70px;margin-bottom: 16px;}
.public-portal .hs{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:12px;padding:16px;text-align:center;}
.public-portal .hs .hv{font-size:28px;font-weight:800;color:var(--white);}
.public-portal .hs .hl{font-size:11px;color:rgba(255,255,255,0.65);margin-top:2px;}
.public-portal .hero-visual{position:relative;}
.public-portal .hero-card{background:var(--white);border-radius:16px;padding:22px;box-shadow:var(--shadow-lg);margin-bottom:14px;}
.public-portal .hero-card h4{font-size:13px;font-weight:700;color:var(--blue);margin-bottom:12px;}
.public-portal .step-list{display:flex;flex-direction:column;gap:8px;}
.public-portal .sl-item{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);}
.public-portal .sl-num{width:24px;height:24px;background:var(--teal);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.public-portal .sl-item.done .sl-num{background:var(--green);}
.public-portal .hero-card2{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:12px;padding:16px;}
.public-portal .hero-card2{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:12px;padding:16px;}
.public-portal .hero-live-list{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.public-portal .hero-live-item{background:rgba(255,255,255,0.15);border-radius:8px;padding:10px 12px;color:rgba(255,255,255,0.9);font-size:12.5px;font-weight:600;}
.public-portal .section-white{background:var(--white)}
.public-portal .section-light{background:var(--light);}
.public-portal .section-head-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;}
.public-portal .section-title-small{font-size:28px;margin:0;}
.public-portal .action-row{display:flex;gap:8px;flex-wrap:wrap;}
.public-portal .cta-banner{background:linear-gradient(135deg,var(--blue),var(--teal));padding:60px 48px;margin:0;}
.public-portal .cta-center{max-width:700px;margin:0 auto;text-align:center;color:var(--white);}
.public-portal .cta-title{font-size:30px;font-weight:800;margin-bottom:14px;color:var(--white);}
.public-portal .cta-copy{font-size:15px;opacity:0.85;margin-bottom:28px;color:var(--white);}
.public-portal .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.public-portal .btn-outline-inverse{border-color:rgba(255,255,255,0.5);color:var(--white);}
.public-portal .live-badge{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#4ADE80;font-weight:600;}
.public-portal .live-dot{width:8px;height:8px;background:#4ADE80;border-radius:50%;animation:blink 1.5s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
.public-portal .ticker{background:var(--blue);padding:10px 0;overflow:hidden;border-bottom:2px solid var(--teal);}
.public-portal .ticker-track{display:flex;gap:60px;white-space:nowrap;animation:ticker 30s linear infinite;}
.public-portal .ticker-track:hover{animation-play-state:paused;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.public-portal .ticker-item{font-size:12.5px;color:rgba(255,255,255,0.85);font-weight:600;display:flex;align-items:center;gap:8px;}
.public-portal .ticker-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;}
.public-portal .section{padding:80px 48px;max-width:1200px;margin:0 auto;}
.public-portal .section-center{text-align:center;}
.public-portal .section-eyebrow{display:inline-block;background:var(--light);color:var(--teal);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:5px 14px;border-radius:20px;margin-bottom:14px;}
.public-portal .section h2{font-size:34px;font-weight:800;color:var(--blue);margin-bottom:14px;line-height:1.25;}
.public-portal .section p.lead{font-size:15.5px;color:var(--muted);max-width:580px;margin:0 auto 50px;line-height:1.7;}
.public-portal .section-divider{border:none;border-top:1px solid var(--border);max-width:1200px;margin:0 auto;}
.public-portal .how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:50px;}
.public-portal .how-card{text-align:center;padding:28px 20px;border:1.5px solid var(--border);border-radius:16px;transition:all 0.2s;background:var(--white);}
.public-portal .how-card:hover{border-color:var(--teal);box-shadow:var(--shadow);transform:translateY(-4px);}
.public-portal .how-num{width:48px;height:48px;background:var(--blue);color:var(--white);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;margin:0 auto 16px;}
.public-portal .how-card h3{font-size:14.5px;font-weight:700;color:var(--blue);margin-bottom:8px;}
.public-portal .how-card p{font-size:12.5px;color:var(--muted);line-height:1.6;}
.public-portal .how-arrow{display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--border);padding-top:24px;}
.public-portal .rfp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.public-portal .rfp-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;transition:all 0.2s;}
.public-portal .rfp-card:hover{border-color:var(--teal);box-shadow:var(--shadow-lg);transform:translateY(-3px);}
.public-portal .rfp-card.featured{border-color:var(--teal);position:relative;}
.public-portal .rfp-banner{height:6px;}
.public-portal .rfp-banner.green{background:var(--green);}
.public-portal .rfp-banner.teal{background:var(--teal);}
.public-portal .rfp-banner.orange{background:var(--orange);}
.public-portal .rfp-banner.gray{background:#9CA3AF;}
.public-portal .rfp-body{padding:20px;}
.public-portal .rfp-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.public-portal .tag{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.public-portal .tag-green{background:var(--green-100);color:#15803D;}
.public-portal .tag-blue{background:#DBEAFE;color:#1D4ED8;}
.public-portal .tag-orange{background:var(--vanilla);color:var(--dark-amber);}
.public-portal .tag-purple{background:#EDE9FE;color:#7C3AED;}
.public-portal .tag-gray{background:#F3F4F6;color:#6B7280;}
.public-portal .tag-red{background:var(--light-grayish);color:var(--red);}
.public-portal .rfp-body h3{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:7px;line-height:1.4;}
.public-portal .rfp-body p{font-size:12.5px;color:var(--muted);margin-bottom:14px;line-height:1.6;}
.public-portal .rfp-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;margin-bottom:14px;}
.public-portal .rfp-meta span{display:flex;align-items:center;gap:4px;}
.public-portal .rfp-btns{display:flex;gap:8px;flex-wrap:wrap;}
.public-portal .deadline-chip{background:var(--vanilla);border:1px solid #FDE68A;border-radius:6px;padding:6px 12px;font-size:12px;color:var(--dark-amber);margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.public-portal .featured-ribbon{position:absolute;top:14px;right:-8px;background:var(--gold);color:var(--white);font-size:10.5px;font-weight:700;padding:3px 14px 3px 10px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8% 50%);}
.public-portal .filter-bar{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:28px;box-shadow:var(--shadow);}
.public-portal .filter-bar input, .public-portal .filter-bar select{padding:9px 13px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;color:var(--text);background:var(--white);outline:none;transition:border 0.18s;font-family:inherit;}
.public-portal .filter-bar input{flex:1;min-width:200px;}
.public-portal .filter-bar input:focus, .public-portal .filter-bar select:focus{border-color:var(--teal);}
.public-portal .reg-wrap{max-width:780px;margin:0 auto;padding:48px 24px;}
.public-portal .step-indicator{display:flex;align-items:center;gap:0;margin-bottom:40px;}
.public-portal .si-step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;}
.public-portal .si-step:not(:last-child)::after{content:'';position:absolute;top:18px;left:55%;width:90%;height:2px;background:var(--border);}
.public-portal .si-step.done::after, .public-portal .si-step.active::after{background:var(--teal);}
.public-portal .si-circle{width:36px;height:36px;border-radius:50%;border:2px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;z-index:1;position:relative;}
.public-portal .si-step.done .si-circle{background:var(--green);border-color:var(--green);color:var(--white);}
.public-portal .si-step.active .si-circle{background:var(--teal);border-color:var(--teal);color:var(--white);box-shadow:0 0 0 4px rgba(0,102,153,0.15);}
.public-portal .si-label{font-size:11px;font-weight:600;color:var(--muted);margin-top:7px;text-align:center;}
.public-portal .si-step.active .si-label{color:var(--teal);}
.public-portal .si-step.done .si-label{color:var(--green);}
.public-portal .form-card{background:var(--white);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;}
.public-portal .form-card-head{padding:24px 28px;background:linear-gradient(90deg,var(--blue),var(--teal));color:var(--white);}
.public-portal .form-card-head h3{font-size:17px;font-weight:700;}
.public-portal .form-card-head p{font-size:12.5px;opacity:0.8;margin-top:3px;}
.public-portal .form-card-body{padding:28px;}
.public-portal .form-card-foot{padding:18px 28px;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;}
.public-portal .form-section{margin-bottom:26px;}
.public-portal .form-section h4{font-size:13px;font-weight:700;color:var(--blue);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.public-portal .fg{display:flex;flex-direction:column;gap:5px;}
.public-portal .fg label{font-size:12.5px;font-weight:600;color:var(--text);}
.public-portal .fg .hint{font-size:11px;color:var(--muted);}
.public-portal .inp, .public-portal .sel, .public-portal .ta{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;color:var(--text);background:var(--white);outline:none;transition:border 0.18s;font-family:inherit;}
.public-portal .inp:focus, .public-portal .sel:focus, .public-portal .ta:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,0.08);}
.public-portal .inp.valid{border-color:var(--green);}
.public-portal .inp.error{border-color:var(--red);}
.public-portal .ta{resize:vertical;min-height:90px;}
.public-portal .g2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.public-portal .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;}
.public-portal .g1{margin-bottom:16px;}
.public-portal .check-row{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--light);border-radius:8px;margin-bottom:10px;}
.public-portal .check-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal);flex-shrink:0;margin-top:2px;}
.public-portal .check-row label{font-size:12.5px;color:var(--text);cursor:pointer;line-height:1.5;}
.public-portal .validation-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1.5px solid var(--border);border-radius:9px;margin-bottom:8px;}
.public-portal .vr-label{font-size:13px;font-weight:600;}
.public-portal .vr-status{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;}
.public-portal .v-pass{color:var(--green);} .public-portal .v-pend{color:var(--orange);} .public-portal .v-fail{color:var(--red);}
.public-portal .upload-zone{border:2px dashed var(--border);border-radius:10px;padding:26px;text-align:center;cursor:pointer;transition:all 0.2s;background:var(--light);}
.public-portal .upload-zone:hover{border-color:var(--teal);background:#E8F2FA;}
.public-portal .upload-zone .uz-icon{font-size:34px;margin-bottom:8px;}
.public-portal .uploaded-file{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--light);border:1px solid var(--border);border-radius:8px;margin-top:8px;}
.public-portal .uf-name{font-size:13px;font-weight:600;flex:1;} .public-portal .uf-size{font-size:11px;color:var(--muted);}
.public-portal .uf-del{background:none;border:none;cursor:pointer;color:var(--red);font-size:16px;}
.public-portal .otp-row{display:flex;gap:10px;justify-content:center;margin:18px 0;}
.public-portal .otp-inp{width:52px;height:60px;text-align:center;font-size:24px;font-weight:700;border:2px solid var(--border);border-radius:10px;outline:none;color:var(--blue);}
.public-portal .otp-inp:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,0.1);}
.public-portal .login-wrap{max-width:460px;margin:0 auto;padding:60px 24px;}
.public-portal .login-card{background:var(--white);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;}
.public-portal .lc-head{background:linear-gradient(135deg,var(--blue),var(--teal));padding:32px;text-align:center;color:var(--white);}
.public-portal .lc-head .lc-icon{width:64px;height:64px;background:rgba(255,255,255,0.2);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 14px;}
.public-portal .lc-head h2{font-size:22px;font-weight:800;}
.public-portal .lc-head p{font-size:13px;opacity:0.8;margin-top:4px;}
.public-portal .lc-body{padding:28px;}
.public-portal .social-login{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.public-portal .social-btn{display:flex;align-items:center;gap:10px;padding:11px 16px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;background:var(--white);transition:all 0.18s;width:100%;}
.public-portal .social-btn:hover{border-color:var(--teal);background:var(--light);}
.public-portal .or-divider{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:12px;color:var(--muted);font-weight:600;}
.public-portal .or-divider hr{flex:1;border:none;border-top:1px solid var(--border);}
.public-portal .pwd-wrapper{position:relative;}
.public-portal .pwd-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);font-size:16px;}
.public-portal .forgot-link{text-align:right;font-size:12px;color:var(--teal);cursor:pointer;font-weight:600;margin-top:-8px;margin-bottom:14px;}
.public-portal .forgot-link:hover{text-decoration:underline;}
.public-portal .lc-foot{padding:18px 28px;border-top:1px solid var(--border);text-align:center;font-size:13px;color:var(--muted);}
.public-portal .lc-foot a{color:var(--teal);font-weight:600;cursor:pointer;}
.public-portal .features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px;}
.public-portal .feat-card{padding:28px;border-radius:14px;border:1.5px solid var(--border);transition:all 0.2s;}
.public-portal .feat-card:hover{border-color:var(--teal);box-shadow:var(--shadow);}
.public-portal .feat-icon{font-size:34px;margin-bottom:14px;}
.public-portal .feat-card h3{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:8px;}
.public-portal .feat-card p{font-size:13px;color:var(--muted);line-height:1.65;}
.public-portal .elig-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:40px;}
.public-portal .elig-list{display:flex;flex-direction:column;gap:14px;}
.public-portal .elig-item{display:flex;align-items:flex-start;gap:13px;padding:14px;border:1.5px solid var(--border);border-radius:10px;transition:all 0.18s;}
.public-portal .elig-item:hover{border-color:var(--teal);background:var(--light);}
.public-portal .ei-icon{font-size:22px;flex-shrink:0;}
.public-portal .ei-text h4{font-size:13.5px;font-weight:700;margin-bottom:3px;}
.public-portal .ei-text p{font-size:12px;color:var(--muted);}
.public-portal .elig-visual{background:linear-gradient(135deg,var(--blue),var(--teal));border-radius:16px;padding:30px;color:var(--white);}
.public-portal .ev-title{font-size:18px;font-weight:800;margin-bottom:18px;}
.public-portal .ev-stat{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.15);}
.public-portal .ev-stat:last-child{border-bottom:none;}
.public-portal .ev-stat .ev-v{font-size:20px;font-weight:800;}
.public-portal .ev-stat .ev-l{font-size:11.5px;opacity:0.7;}
.public-portal .faq-list{max-width:720px;margin:40px auto 0;}
.public-portal .faq-item{border:1.5px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.public-portal .faq-q{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:600;font-size:14px;color:var(--blue);transition:background 0.18s;}
.public-portal .faq-q:hover{background:var(--light);}
.public-portal .faq-q .faq-arrow{font-size:18px;transition:transform 0.2s;color:var(--muted);}
.public-portal .faq-a{display:none;padding:16px 20px 16px;font-size:13px;color:var(--muted);line-height:1.7;border-top:1px solid var(--border);}
.public-portal .faq-item.open .faq-a{display:block;}
.public-portal .faq-item.open .faq-arrow{transform:rotate(180deg);}
.public-portal .faq-item.open .faq-q{background:var(--light);}
.public-portal .site-footer{background:var(--blue);color:rgba(255,255,255,0.75);padding:56px 48px 28px;}
.public-portal .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:1200px;margin:0 auto 40px;}
.public-portal .footer-brand .fb-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.public-portal .footer-brand .fb-logo .lb{width:38px;height:38px;background:rgba(255,255,255,0.15);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:20px;}
.public-portal .footer-brand .fb-logo span{font-size:16px;font-weight:800;color:var(--white);}
.public-portal .footer-brand p{font-size:12.5px;line-height:1.7;max-width:280px;color: var(--white);}
.public-portal .footer-col h4{font-size:13px;font-weight:700;color:var(--white);margin-bottom:14px;}
.public-portal .footer-col a{display:block;font-size:12.5px;color:rgba(255,255,255,0.65);text-decoration:none;margin-bottom:8px;cursor:pointer;}
.public-portal .footer-col a:hover{color:var(--white);}
.public-portal .footer-bottom{max-width:1200px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);display:flex;justify-content:space-between;align-items:center;font-size:12px;background-color: transparent}
.public-portal .footer-socials{display:flex;gap:10px;}
.public-portal .social-icon{width:34px;height:34px;background:rgba(255,255,255,0.1);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;}
.public-portal .social-icon:hover{background:rgba(255,255,255,0.2);}
.public-portal .alert{display:flex;gap:10px;padding:13px 17px;border-radius:9px;margin-bottom:16px;font-size:13px;align-items:flex-start;}
.public-portal .alert-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
.public-portal .a-info{background:#DBEAFE;border-left:4px solid #3B82F6;}
.public-portal .a-warn{background:var(--vanilla);border-left:4px solid #F59E0B;}
.public-portal .a-success{background:var(--green-100);border-left:4px solid #22C55E;}
.public-portal .a-danger{background:var(--light-grayish);border-left:4px solid #EF4444;}
.public-portal .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;}
.public-portal .badge::before{content:'';width:6px;height:6px;border-radius:50%;}
.public-portal .b-green{background:var(--green-100);color:#15803D;} .public-portal .b-green::before{background:#15803D;}
.public-portal .b-blue{background:#DBEAFE;color:#1D4ED8;} .public-portal .b-blue::before{background:#1D4ED8;}
.public-portal .b-orange{background:var(--vanilla);color:var(--dark-amber);} .public-portal .b-orange::before{background:var(--dark-amber);}
.public-portal .b-red{background:var(--light-grayish);color:var(--red);} .public-portal .b-red::before{background:var(--red);}
.public-portal .b-gray{background:#F3F4F6;color:#6B7280;} .public-portal .b-gray::before{background:#6B7280;}
.public-portal .text-center{text-align:center;}
.public-portal .mt-32{margin-top:32px;}
.public-portal .success-icon{font-size:64px;margin-bottom:18px;display:block;}

.public-portal ::-webkit-scrollbar{width:6px;} .public-portal ::-webkit-scrollbar-track{background:#F0F4F8;} .public-portal ::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;} .public-portal ::-webkit-scrollbar-thumb:hover{background:var(--teal);}
@media (max-width:900px){
  .public-portal .topnav{padding:0 20px;}
  .public-portal .nav-links{display:none;}
  .public-portal .hero-content{grid-template-columns:1fr;gap:40px;padding:40px 24px;}
  .public-portal .hero-text h1{font-size:30px;}
  .public-portal .hero-stats{grid-template-columns:1fr 1fr 1fr;}
  .public-portal .how-grid{grid-template-columns:1fr 1fr;}
  .public-portal .rfp-grid{grid-template-columns:1fr;}
  .public-portal .features-grid{grid-template-columns:1fr;}
  .public-portal .elig-grid{grid-template-columns:1fr;}
  .public-portal .section{padding:50px 24px;}
  .public-portal .footer-grid{grid-template-columns:1fr 1fr;}
  .public-portal .g2, .public-portal .g3{grid-template-columns:1fr;}
  .public-portal .form-card-body{padding:20px;}
}

/* Signup page styles */
.signup .bg-pattern{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4H6zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");}
.signup .orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;animation:float 8s ease-in-out infinite;}
.signup .orb1{width:400px;height:400px;background:rgba(0,102,153,0.3);top:-100px;right:-100px;animation-delay:0s;}
.signup .orb2{width:300px;height:300px;background:rgba(0,122,77,0.2);bottom:-80px;left:-80px;animation-delay:3s;}
.signup .orb3{width:200px;height:200px;background:rgba(245,166,35,0.15);top:50%;left:5%;animation-delay:5s;}
@keyframes float{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-30px) scale(1.05);}}
.signup .page-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;min-height:100vh;}
.signup .left-panel{display:flex;flex-direction:column;justify-content:flex-start;padding:60px 56px;color:var(--text);}
.signup .brand{display:flex;align-items:flex-start;gap:12px;margin-bottom:56px;}
.signup .brand-box{width:48px;height:48px;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:24px;backdrop-filter:blur(10px);}
.signup .brand-text h2{font-size:18px;font-weight:800;color:var(--white);margin-top:0px}
.signup .brand-text p{font-size:11px;color:rgba(255,255,255,0.6);margin-top:-1px;}
.signup .hero-label{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);padding:5px 14px;border-radius:20px;font-size:12px;font-weight:600;color:rgba(255,255,255,0.85);margin-bottom:22px;width:fit-content;}
.signup .left-panel h1{font-size:40px;font-weight:900;line-height:1.18;margin-bottom:18px;color:var(--white);}
.signup .left-panel h1 span{color:var(--gold);}
.signup .left-panel .lead{font-size:15px;color:rgba(255,255,255,0.72);line-height:1.75;margin-bottom:44px;max-width:420px;}
.signup .trust-list{display:flex;flex-direction:column;gap:14px;}
.signup .trust-item{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:13px 16px;backdrop-filter:blur(8px);transition:background 0.2s;}
.signup .trust-item:hover{background:rgba(255,255,255,0.12);}
.signup .ti-icon{font-size:22px;flex-shrink:0;}
.signup .ti-text strong{display:block;font-size:13px;font-weight:700;color:var(--white);}
.signup .ti-text span{font-size:11.5px;color:rgba(255,255,255,0.6);}
.signup .stats-row{display:flex;gap:20px;margin-top:44px;}
.signup .stat-chip{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);border-radius:10px;padding:12px 18px;text-align:center;flex:1;}
.signup .stat-chip .sv{font-size:22px;font-weight:800;color:var(--white);}
.signup .stat-chip .sl{font-size:10.5px;color:rgba(255,255,255,0.55);margin-top:1px;}
.signup .right-panel{display:flex;align-items:center;justify-content:center;padding:40px 48px;}
.signup .signup-card{background:var(--white);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,0.3);width:100%;max-width:480px;overflow:hidden;animation:slideUp 0.5s cubic-bezier(0.23,1,0.32,1) both;}
@keyframes slideUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.signup .card-header{background:linear-gradient(135deg,var(--blue) 0%,var(--teal) 100%);padding:28px 32px;color:var(--white);position:relative;overflow:hidden;display: block;}
.signup .card-header::after{content:'';position:absolute;bottom:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,0.07);}
.signup .card-header::before{content:'';position:absolute;top:-30px;left:-30px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,0.05);}
.signup .ch-icon{width:56px;height:56px;background:rgba(255,255,255,0.18);border:2px solid rgba(255,255,255,0.3);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px;position:relative;z-index:1;}
.signup .card-header h2{font-size:22px;font-weight:800;position:relative;z-index:1;color:var(--white);}
.signup .card-header p{font-size:13px;opacity:0.78;margin-top:4px;position:relative;z-index:1;color:var(--white);margin-bottom: 0px;}
.signup .card-body{padding:32px;}
.signup .progress-dots{display:flex;gap:6px;justify-content:center;margin-bottom:28px;}
.signup .dot{height:4px;border-radius:2px;transition:all 0.3s;}
.signup .dot.active{width:28px;background:var(--teal);}
.signup .dot.done{width:16px;background:var(--green);}
.signup .dot.pending{width:16px;background:var(--border);}
.signup .field-group{margin-bottom:18px;}
.signup .field-group label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:7px;}
.signup .field-group label .lbl-icon{font-size:14px;}
.signup .field-group .req{color:var(--red);font-size:11px;margin-left:2px;}
.signup .input-wrap{position:relative;}
.signup .input-prefix{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--muted);pointer-events:none;display:flex;align-items:center;}
.signup .inp{width:100%;padding:12px 14px 12px 14px;border:1.5px solid var(--border);border-radius:11px;font-size:13.5px;color:var(--text);background:var(--white);outline:none;transition:all 0.2s;font-family:inherit;}
.signup .inp:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(0,102,153,0.09);background:#FAFCFF;}
.signup .inp.valid{border-color:var(--green);}
.signup .inp.valid + .field-check{display:flex;}
.signup .inp::placeholder{color:#B0BCC9;font-size:13px;}
.signup .inp-no-prefix{padding-left:14px;}
.signup .field-check{display:none;position:absolute;right:13px;top:50%;transform:translateY(-50%);width:20px;height:20px;background:var(--green);border-radius:50%;align-items:center;justify-content:center;font-size:11px;color:var(--white);font-weight:700;}
.signup .phone-row{display:flex;gap:10px;}
.signup .country-sel{padding:12px 10px;border:1.5px solid var(--border);border-radius:11px;font-size:13px;color:var(--text);background:var(--white);outline:none;transition:border 0.2s;font-family:inherit;min-width:110px;cursor:pointer;}
.signup .country-sel:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(0,102,153,0.09);}
.signup .hint-text{font-size:11px;color:var(--muted);margin-top:5px;display:flex;align-items:center;gap:4px;}
.signup .submit-btn{width:100%;padding:15px 24px;background:linear-gradient(135deg,var(--teal) 0%,var(--blue) 100%);color:var(--white);border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all 0.22s;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 18px rgba(0,51,102,0.35);margin-top:24px;font-family:inherit;position:relative;overflow:hidden;}
.signup .submit-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.12),transparent);opacity:0;transition:opacity 0.2s;}
.signup .submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,51,102,0.45);}
.signup .submit-btn:hover::before{opacity:1;}
.signup .submit-btn:active{transform:translateY(0);}
.signup .submit-btn .btn-arrow{font-size:18px;transition:transform 0.2s;}
.signup .submit-btn:hover .btn-arrow{transform:translateX(4px);}
.signup .or-divider{display:flex;align-items:center;gap:12px;margin:20px 0;font-size:12px;color:var(--muted);font-weight:600;}
.signup .or-divider hr{flex:1;border:none;border-top:1px solid var(--border);}
.signup .login-link{text-align:center;margin-top:20px;font-size:13px;color:var(--muted);}
.signup .login-link a{color:var(--teal);font-weight:700;cursor:pointer;text-decoration:none;}
.signup .login-link a:hover{text-decoration:underline;}
.signup .terms-note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.6;}
.signup .terms-note a{color:var(--teal);cursor:pointer;font-weight:600;}
.signup .trust-badges{display:flex;gap:8px;justify-content:center;margin-top:20px;flex-wrap:wrap;}
.signup .tbadge{display:flex;align-items:center;gap:5px;background:var(--light);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:11px;color:var(--muted);font-weight:600;}
.signup .success-screen{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 32px;}
.signup .success-screen.show{display:flex;}
.signup .success-ring{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--green),#00A860);display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:20px;box-shadow:0 8px 32px rgba(0,122,77,0.4);animation:popIn 0.4s cubic-bezier(0.34,1.56,0.64,1) both;}
@keyframes popIn{from{transform:scale(0);}to{transform:scale(1);}}
.signup .success-screen h3{font-size:22px;font-weight:800;color:var(--blue);margin-bottom:10px;}
.signup .success-screen p{font-size:13.5px;color:var(--muted);line-height:1.7;max-width:340px;margin:0 auto 24px;}
.signup .next-steps{width:100%;display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.signup .ns-item{display:flex;align-items:center;gap:12px;background:var(--light);border:1px solid var(--border);border-radius:10px;padding:12px 14px;text-align:left;}
.signup .ns-num{width:26px;height:26px;background:var(--teal);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.signup .ns-item span{font-size:12.5px;color:var(--text);}
.signup .go-portal-btn{width:100%;padding:13px;background:var(--teal);color:var(--white);border:none;border-radius:11px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background 0.18s;text-decoration:none;display:block;}
.signup .go-portal-btn:hover{background:var(--blue);color:var(--white);}
.signup .page-footer{position:relative;z-index:1;text-align:center;padding:16px 24px;font-size:11.5px;color:rgba(255,255,255,0.45);}
@media (max-width:900px){
  .signup .page-wrap{grid-template-columns:1fr;}
  .signup .left-panel{display:none;}
  .signup .right-panel{padding:24px 20px;align-items:flex-start;min-height:100vh;}
  .signup .signup-card{max-width:100%;}
}
@media (max-width:480px){
  .signup .card-body{padding:22px 20px;}
  .signup .phone-row{flex-direction:column;}
  .signup .country-sel{min-width:unset;}
}

/* Funding application styles */
.funding nav{background:var(--navy);display:flex;align-items:center;padding:0 40px;height:56px;gap:32px;}
.funding .nav-brand{display:flex;align-items:center;gap:10px;color:var(--white);text-decoration:none;}
.funding .nav-icon{width:36px;height:36px;background:rgba(255,255,255,0.15);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.funding .nav-name{font-size:15px;font-weight:700;color:var(--white);}
.funding .nav-sub{font-size:10px;color:rgba(255,255,255,0.6);display:block;line-height:1;}
.funding .nav-links{display:flex;gap:24px;margin-left:20px;}
.funding .nav-links a{color:rgba(255,255,255,0.75);text-decoration:none;font-size:13px;}
.funding .nav-links a:hover{color:var(--white);}
.funding .nav-right{margin-left:auto;display:flex;gap:10px;}
.funding .btn-outline{padding:7px 18px;border:1.5px solid rgba(255,255,255,0.5);border-radius:6px;color:var(--white);font-size:13px;cursor:pointer;background:transparent;}
.funding .btn-solid{padding:7px 18px;border:none;border-radius:6px;background:var(--white);color:var(--navy);font-size:13px;font-weight:700;cursor:pointer;}
.funding .hero{background:linear-gradient(135deg,var(--navy) 0%,var(--teal) 100%);color:var(--white);padding:20px 30px;display: flex;justify-content: space-between;align-items: center;}
.funding .hero h1{font-size:22px;font-weight:700;color: var(--white);margin: 0;}
.funding .hero p{font-size:14px;opacity:0.85;margin:0px;color: var(--white);max-width: 300px; }
.funding .hero-meta{display:flex;gap:28px;}
.funding .hero-badge{background:rgba(255,255,255,0.12);border-radius:6px;padding:8px 16px;font-size:12px;}
.funding .hero-badge strong{display:block;font-size:15px;}
.funding .prog-wrap{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:115px;z-index:200;box-shadow:0 2px 8px rgba(0,0,0,0.06);height: calc(100vh - 70px);overflow: auto;width:210px;}
.funding .prog-inner{flex-direction: column;margin:0 auto;padding:18px 10px;display:flex;gap:15px;width: 100%;}
.funding .snode{flex:1;display:flex;align-items:center;gap:6px;position:relative;flex-wrap: wrap;}
/* .funding .snode:not(:last-child)::after{content:'';position:absolute;top:17px;left:calc(50% + 18px);width:calc(100% - 36px);height:2px;background:#CBD5E1;} */
.funding .snode.done::after{background:var(--green);}
/* .funding .scircle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:#CBD5E1;color:var(--white);flex-shrink:0;} */
.funding .scircle{width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2.5px solid #DDE3ED;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: all .25s;
    flex-shrink: 0;}
    .funding .snode.active .scircle::after{
          content: '';
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--navy);
    }
    .funding .snode.done .scircle::after{
          content: '✓';
    width: auto;
    height: auto;
    background: transparent;
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    }
/* .funding .snode.active .scircle{background:var(--navy);} */
.funding .snode.done .scircle{background:var(--green);}
.funding .slabel{font-size:12px;color:var(--muted);font-weight:500;text-align:center;max-width:300px;}
.funding .snode.active .slabel{color:var(--navy);font-weight:700;}
.funding .snode.done .slabel{color:var(--green);}
.funding #sn2.snode.active .ApplicationDetailStep{display: block;}
.funding .ApplicationDetailStep{display: none;}
.funding #sn4.snode.active .proposalDetailStep{display: block;}
.funding .proposalDetailStep{display: none;}
.ApplicationDetailStep ul li,
.proposalDetailStep ul li{
  border: 1px solid #dedede;
    list-style: none;
    padding: 6px;
    margin-bottom: 5px;
    border-radius: 6px;
    font-size: 10px;
}
.ApplicationDetailStep ul li.active,
.proposalDetailStep ul li.active {
    border-left: 4px solid #173867;
    color: #173867;
    font-weight: 600;
    border-color: #173867;
}
.funding .form-outer{margin:16px 0 30px 0; padding:0 16px; width: 100%;}
.funding .annexure-outer{width: calc(100% - 145px);}
.funding .regis-form-step{width: calc(100% - 210px);}
.funding .step-panel{display:none;}
.funding .step-panel.active{display:block;}
.funding .card{background:var(--white);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.07);overflow:hidden;margin-bottom:24px;}
.funding .card-hdr{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:var(--white);padding:18px 28px;}
.funding .card-hdr h2{font-size:20px;font-weight:700;color: var(--white);}
.funding .card-hdr p{font-size:12px;opacity:0.75;margin-top:3px;color: var(--white);}
.funding .card-body{padding:28px;}
.funding .fg{display:flex;flex-direction:column;gap:5px;margin-bottom: 15px;}
.funding .fg label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.4px;}
.funding .fg label .req{color:var(--red);}
.funding .fg input, .funding .fg select, .funding .fg textarea{margin-top: 0; border:1.5px solid var(--border);border-radius:6px;padding:9px 12px;font-size:13px;color:var(--text);background:#FAFCFF;transition:border-color 0.2s;}
.funding .fg input:focus, .funding .fg select:focus, .funding .fg textarea:focus{outline:none;border-color:var(--navy);background:var(--white);}
.funding .fg textarea{resize:vertical;min-height:75px;}
.funding .fg .hint{font-size:11px;color:#9CA3AF;}
.funding .fg input[readonly]{background:#F0F4FA;color:var(--muted);cursor:default;}
.funding .g2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.funding .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;}
.funding .g1{display:grid;grid-template-columns:1fr;gap:18px;}
.funding .s2{grid-column:span 2;}
.funding .s3{grid-column:span 3;}
.funding .sdiv{font-size:16px;font-weight:700;color:var(--navy);border-bottom:2px solid var(--light);padding-bottom:7px;margin:24px 0 16px;letter-spacing:0.5px;display: flex;align-items: center}
.funding .tbl{width:100%;border-collapse:collapse;font-size:12px;}
.funding .tbl thead th{background:var(--navy);color:var(--white);padding:9px 10px;text-align:left;font-size:14px;font-weight:600;white-space:nowrap;}
.funding .tbl tbody td{padding:5px 8px;border:1px solid var(--border);vertical-align:middle; font-size: 12px;}
/* .funding .tbl tbody tr:nth-child(even){background:#F8FAFF;} */
.funding .tbl tbody td input, .funding .tbl tbody td select{border:none;background:transparent;font-size:12px;width:100%;font-family:inherit;padding:3px 4px;}
.funding .tbl tbody td input:focus, .funding .tbl tbody td select:focus{outline:1px solid var(--teal);border-radius:3px;background:var(--white);}
.funding .tbl tfoot td{padding:8px 10px;font-weight:700;background:#EEF3FA;}
.funding .tbl tr.sub-total td{background:#DDE9F8 !important;font-weight:700 !important;}
.funding .tbl tr.grand-total td{background:var(--navy) !important;color:var(--white) !important;font-weight:700 !important;}
.funding .tbl tr.cat-row td{background:#E8F0FA;font-weight:700;color:var(--navy2);font-size:11px;}
.funding .add-btn{margin-top:8px;padding:6px 14px;background:var(--green);color:var(--white);border:none;border-radius:5px;font-size:12px;cursor:pointer;font-family:inherit;}
.funding .add-btn:disabled {background: var(--muted);}
.funding .del-btn{padding:3px 9px;background:var(--light-grayish);color:var(--red);border:none;border-radius:4px;cursor:pointer;font-size:11px;font-family:inherit;}
.funding .decl-box{background:#F0F6FF;border:1.5px solid var(--border);border-radius:8px;padding:20px 24px;margin-bottom:20px;}
.funding .decl-box p{font-size:13px;line-height:1.8;}
.funding .decl-box ul{margin:8px 0 8px 20px;}
.funding .decl-box li{font-size:13px;margin-bottom:5px;}
.Confirmation-step-page {
    padding: 15px;
    border: 1px solid #0f2a5430;
    border-radius: 8px;
    border-left: 6px solid #0f2a54;
}
.funding .check-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px; width: auto !important; height: auto !important; justify-content: flex-start;}
.funding .check-row input[type=checkbox]{width:16px;height:16px;margin-top:2px;cursor:pointer;flex-shrink:0;}
.funding .check-row label{font-size:13px;line-height:1.6;cursor:pointer;font-weight: 500;}
.funding .nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.funding .btn-n{padding:12px 30px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;border:none;transition:opacity 0.2s;}
.funding .btn-prev{background:var(--white);color:var(--navy);border:2px solid var(--navy);}
.funding .btn-prev:hover{background:var(--light);}
.funding .btn-next{background:var(--navy);color:var(--white);}
.funding .btn-next:hover{opacity:0.88;}
.funding .btn-submit{background:var(--green);color:var(--white);}
.funding .btn-submit:hover{opacity:0.88;}
.funding .modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,0.55);backdrop-filter:blur(2px);z-index:9999;padding:20px;}
.funding .modal-overlay.active{display:flex;}
.funding .modal-card{background:var(--white);border-radius:20px;max-width:500px;width:100%;padding:30px;box-shadow:0 22px 60px rgba(5,30,60,0.22);}
.funding .modal-card h3{margin:0 0 12px;font-size:22px;color:var(--navy);}
.funding .modal-card p{margin:0 0 24px;font-size:15px;color:var(--muted);line-height:1.75;}
.funding .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px;}
.funding .btn-secondary{background:#F3F4F6;color:var(--navy);border:1px solid #D1D5DB;}
.funding .btn-secondary:hover{background:#E5E7EB;}
.funding .modal-success-icon{font-size:42px;margin-bottom:12px;}
.funding .modal-success-title{margin:0 0 8px;font-size:22px;font-weight:700;color:var(--green);}
.funding .modal-success-text{margin:0 0 18px;color:var(--muted);line-height:1.75;font-size:15px;}
.funding .modal-success-code{display:inline-flex;background:var(--light);border:1px solid var(--border);border-radius:10px;padding:12px 18px;font-weight:700;color:var(--navy);}
.funding .chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;margin-bottom:12px;}
.funding .chip-blue{background:#DBEAFE;color:#1E40AF;}
.funding .chip-purple{background:#EDE9FE;color:#5B21B6;}
.funding .chip-green{background:#D1FAE5;color:#065F46;}
.funding .note{font-size:12px;color:var(--muted);font-style:italic;margin-bottom:10px;}
.funding .success-wrap{text-align:center;padding:60px 40px;}
.funding .success-icon{font-size:64px;margin-bottom:20px;}
.funding .success-wrap h2{font-size:26px;font-weight:700;color:var(--green);margin-bottom:10px;}
.funding .success-wrap p{font-size:14px;color:var(--muted);max-width:500px;margin:0 auto 20px;}
.funding .ref-box{display:inline-block;background:var(--light);border:2px solid var(--border);border-radius:8px;padding:12px 30px;font-size:18px;font-weight:700;color:var(--navy);margin:10px 0 20px;}
.funding footer{background:var(--navy);color:rgba(255,255,255,0.65);text-align:center;padding:20px;font-size:12px;}
.error_modal .modal-title{color: var(--red);}


/*application css start table*/

.funding .tbl.tbl-chk thead th.col-yn      { width:80px;  text-align:center; }
.funding .tbl.tbl-chk thead th.col-comment { width:240px; }
 
.funding .tbl.tbl-chk tbody td         { vertical-align:middle; line-height:1.55; }
.funding .tbl.tbl-chk tbody td.cell-yn { text-align:center; }
 
/* Yes / No radios — override the base "width:100%; border:none" input rule */
.funding .tbl.tbl-chk tbody td input.chk-radio {
    width:18px; height:18px;
    accent-color:var(--navy);
    cursor:pointer;
}
 
/* "Comment (if No)" input — boxed field to match the screenshot */
.funding .tbl.tbl-chk tbody td input.chk-comment {
    width:100%;
    border:1px solid var(--border);
    border-radius:6px;
    background:#FAFCFF;
    padding:8px 10px;
    color:var(--text);
    transition:border-color .18s, box-shadow .18s;
}
.funding .tbl.tbl-chk tbody td input.chk-comment:focus {
    outline:none;
    border-color:var(--teal);
    box-shadow:0 0 0 3px rgba(0,102,153,.10);
    background:var(--white);
}
.funding .sec-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:22px;
}
 
.funding .sec-tab{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:9px 16px;
    border:1.5px solid var(--border);
    border-radius:22px;
    background:var(--white);
    color:var(--muted);
    font-size:13px;
    font-weight:600;
    font-family:inherit;
    cursor:pointer;
    transition:all .18s;
}
.funding .sec-tab:hover{
    border-color:var(--teal);
    color:var(--navy);
}
 
/* active pill — navy fill (matches screenshot) */
.funding .sec-tab.active{
    background:var(--navy);
    border-color:var(--navy);
    color:var(--white);
}
 
/* completed pill — green outline + tick */
.funding .sec-tab.done{
    border-color:var(--green);
    color:var(--green);
}
.funding .sec-tab.done::after{
    content:'✓';
    font-weight:700;
}
 
/* panes — show / hide */
.funding .sec-pane{display:none;}
.funding .sec-pane.active{display:block;}
/*application css end table*/



/* RFP Detail Page Styles */
.public-portal .rfp-breadcrumb{background:var(--light);border-bottom:1px solid var(--border);padding:14px 48px;}
.public-portal .rfp-breadcrumb-inner{max-width:1200px;margin:0 auto;font-size:12.5px;color:var(--muted);}
.public-portal .rfp-breadcrumb a{cursor:pointer;color:var(--teal);text-decoration:none;}
.public-portal .rfp-breadcrumb a:hover{text-decoration:underline;}

.public-portal .rfp-container{max-width:1200px;margin:0 auto;padding:36px 48px;}
.public-portal .rfp-layout{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;}

.public-portal .rfp-tags-wrapper{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.public-portal .rfp-page-title{font-size:28px;font-weight:800;color:var(--blue);margin-bottom:12px;}
.public-portal .rfp-page-meta{font-size:14px;color:var(--muted);margin-bottom:24px;}

.public-portal .rfp-overview-card{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:28px;margin-bottom:22px;}
.public-portal .rfp-overview-title{font-size:18px;font-weight:800;color:var(--blue);margin-bottom:20px;}

.public-portal .rfp-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--light);}
.public-portal .rfp-section-header{font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.5px;}
.public-portal .rfp-section:last-child{border-bottom:none;}

.public-portal .rfp-list{margin-left:20px;padding:0;list-style:none;}
.public-portal .rfp-list li{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:8px;}
.public-portal .rfp-list li span{color:var(--green);font-weight:700;margin-right:8px;}

.public-portal .rfp-non-eligible{background:var(--vanilla);border-radius:10px;padding:16px;margin-bottom:24px;}
.public-portal .rfp-non-eligible h4{font-size:13.5px;font-weight:700;color:var(--dark-amber);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.5px;}
.public-portal .rfp-non-eligible p{font-size:13px;color:#6B5409;line-height:1.7;margin:0;}

.public-portal .rfp-dates-section{margin-bottom:20px;background:linear-gradient(135deg,#E8F0FA 0%,#F0F6FF 100%);border-left:4px solid var(--navy);border-radius:8px;padding:16px;}
.public-portal .rfp-dates-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.public-portal .rfp-date-card{padding:10px;background:var(--white);border-radius:6px;border:1px solid var(--border);}
.public-portal .rfp-date-label{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:4px;}
.public-portal .rfp-date-value{font-size:14px;font-weight:700;color:var(--navy);}
.public-portal .rfp-date-value.closing{color:var(--red);}

.public-portal .rfp-footer-note{background:#F0F4FA;border-radius:8px;padding:12px 14px;border-left:3px solid var(--navy);}
.public-portal .rfp-footer-note p{font-size:12px;color:var(--muted);margin:0;line-height:1.6;}
.public-portal .rfp-footer-note strong{color:var(--navy);}
.public-portal .rfp-footer-note a{color:var(--teal);text-decoration:none;font-weight:600;}

.public-portal .rfp-eligibility-card{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:22px;margin-bottom:22px;}
.public-portal .rfp-elig-title{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:16px;}

.public-portal .rfp-elig-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--light);}
.public-portal .rfp-elig-section:last-child{border-bottom:none;}
.public-portal .rfp-elig-section h4, .public-portal .rfp-elig-section h5{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:12px;text-transform:uppercase;letter-spacing:0.5px;}
.public-portal .rfp-elig-section h5{font-size:11px;font-weight:700;color:var(--navy);margin-bottom:12px;text-transform:uppercase;letter-spacing:0.5px;}

.public-portal .rfp-flex-col{display:flex;flex-direction:column;gap:10px;font-size:12.5px;color:var(--muted);line-height:1.7;}
.public-portal .rfp-flex-item{display:flex;gap:10px;}
.public-portal .rfp-flex-item span:first-child{color:var(--green);font-weight:700;min-width:20px;}

.public-portal .rfp-budget-box{margin-bottom:12px;padding:12px;background:#F0F6FF;border-radius:8px;border-left:3px solid var(--blue);}
.public-portal .rfp-budget-box strong{color:var(--blue);}
.public-portal .rfp-budget-box.warning{background:var(--vanilla);border-left-color:var(--dark-amber);}
.public-portal .rfp-budget-box.warning strong{color:var(--dark-amber);}
.public-portal .rfp-compliance-warning{background:var(--light-grayish);border-radius:8px;padding:14px;border-left:4px solid var(--red);font-size:12px;color:#991B1B;line-height:1.7;}
.public-portal .rfp-compliance-warning strong{color:var(--red);}
.public-portal .rfp-alert{display:flex;gap:10px;padding:13px 17px;border-radius:9px;margin-bottom:16px;font-size:13px;align-items:flex-start;}
.public-portal .rfp-alert-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
.public-portal .rfp-alert.warn{background:var(--vanilla);border-left:4px solid #F59E0B;}
.public-portal .rfp-buttons{display:flex;gap:12px;flex-wrap:wrap;}

/* RFP Sidebar */
.public-portal .rfp-sidebar{position:sticky;top:80px;}
.public-portal .rfp-summary-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);}
.public-portal .rfp-summary-header{background:linear-gradient(135deg,var(--blue),var(--teal));padding:20px;color:var(--white);}
.public-portal .rfp-summary-header h3{font-size:16px;font-weight:700;color:var(--white);}

.public-portal .rfp-summary-body{padding:18px;}
.public-portal .rfp-summary-item{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px;}
.public-portal .rfp-summary-label{color:var(--muted);}
.public-portal .rfp-summary-value{font-weight:600;}
.public-portal .rfp-summary-value.deadline{color:var(--red);}

.public-portal .rfp-progress-bar{margin:16px 0;background:var(--light);border-radius:8px;overflow:hidden;height:6px;}
.public-portal .rfp-progress-fill{background:var(--green);height:6px;width:60%;border-radius:8px;}
.public-portal .rfp-progress-text{font-size:11.5px;color:var(--muted);margin-bottom:16px;text-align:center;}

/* Briefing Sessions */
.public-portal .rfp-briefing-card{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:18px;margin-top:16px;}
.public-portal .rfp-briefing-title{font-size:13px;font-weight:700;color:var(--blue);margin-bottom:12px;}
.public-portal .rfp-briefing-desc{font-size:12px;color:var(--muted);margin-bottom:14px;}
.public-portal .rfp-table-wrapper{overflow-x:auto;font-size:11px;}
.public-portal .rfp-cards {display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: 15px;}
.public-portal .rfp-card {border: 1px solid #ddd;border-radius: 10px;padding: 15px;background: var(--white);box-shadow: 0 2px 6px rgba(0,0,0,0.05);}
.public-portal .rfp-card h4 {margin: 0 0 10px;color: var(--navy);font-size: 12px;}
.public-portal .rfp-card p {margin: 5px 0;font-size: 12px;}
.public-portal .rfp-card .label {font-weight: bold;color: var(--muted);font-size: 12px;}
.public-portal .rfp-card p a {color: var(--teal);font-weight: 600;font-size: 12px;}
.rfp-add-more-contact{margin-top: 18px;margin-bottom: 18px;border-radius: 8px;padding: 16px;background-color: var(--bs-light);border: solid 1px #d3d3d3;}
.public-portal .rfp-table-note{font-size:10px;color:var(--muted);margin-top:12px;margin-bottom:0;line-height:1.5;}

/* Q&A Sessions */
.public-portal .rfp-qa-wrapper{margin-top:16px;}
.public-portal .rfp-qa-title{font-size:13px;font-weight:700;color:var(--blue);margin-bottom:14px;}

.public-portal .rfp-qa-card{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;}
.public-portal .rfp-qa-card.upcoming{border-left:4px solid var(--blue);}
.public-portal .rfp-qa-card.live{background:linear-gradient(135deg,#E8F5E9,#F1F8E9);border:1.5px solid var(--green);border-left:4px solid var(--green);}
.public-portal .rfp-qa-card.closed{background:#FAFAFA;border:1.5px solid #E0E0E0;border-left:4px solid #9E9E9E;opacity:0.7;}

.public-portal .rfp-qa-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px;}
.public-portal .rfp-qa-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px;}
.public-portal .rfp-qa-label.register{color:var(--teal);}
.public-portal .rfp-qa-label.join{color:var(--green);}
.public-portal .rfp-qa-label.completed{color:#9E9E9E;}

.public-portal .rfp-qa-title-inner{font-size:13px;font-weight:700;color:var(--text);}
.public-portal .rfp-qa-badge{padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;}
.public-portal .rfp-qa-badge.upcoming{background:#E0F2FE;color:var(--blue);}
.public-portal .rfp-qa-badge.live{background:#C8E6C9;color:var(--green);animation:blink 1s infinite;}
.public-portal .rfp-qa-badge.closed{background:#E0E0E0;color:#616161;}

.public-portal .rfp-qa-desc{font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.5;}
.public-portal .rfp-qa-date{font-size:11.5px;font-weight:600;color:var(--text);margin-bottom:10px;}
.public-portal .rfp-qa-contact{font-size:11.5px;color:var(--text);margin-bottom:12px;}
.public-portal .rfp-qa-contact a{color:var(--teal);text-decoration:none;font-weight:600;}

@media (max-width:900px){
  .public-portal .rfp-layout{grid-template-columns:1fr;}
  .public-portal .rfp-sidebar{position:static;}
  .public-portal .rfp-dates-grid{grid-template-columns:1fr;}
  .public-portal .rfp-table-wrapper{font-size:10px;}
  .public-portal .rfp-table th, .public-portal .rfp-table td{padding:8px 6px;}
}

@media (max-width:480px){
  .public-portal .rfp-container{padding:20px 16px;}
  .public-portal .rfp-layout{gap:16px;}
  .public-portal .rfp-page-title{font-size:20px;}
  .public-portal .rfp-overview-title{font-size:15px;}
  .public-portal .rfp-summary-card{margin-top:20px;}
}

/* FAQ page styles */
.hero-slide{background:linear-gradient(90deg,var(--blue),var(--teal));padding:50px 48px;color:var(--white);}
.hero-inner{max-width:1200px;margin:0 auto;text-align:center;}
.faq-h1{font-size:34px;font-weight:800;color:var(--white);}
.faq-lead{opacity:0.8;font-size:15px;margin-top:10px;color:var(--white);}
.faq-container{max-width:800px;margin:0 auto;padding:50px 24px;}
.faq-card{background:var(--light);border:1.5px solid var(--border);border-radius:14px;padding:28px;margin-top:32px;text-align:center;}
.faq-card h3{font-size:16px;font-weight:700;color:var(--blue);margin-bottom:8px;}
.faq-card p{font-size:13px;color:var(--muted);margin-bottom:18px;}
.faq-list .faq-item{border-bottom:1px solid var(--border);padding:0;}
.faq-q{font-weight:700;cursor:pointer;}
.faq-a{margin-top:0px;color:var(--muted);line-height:1.6;}

.hero-inner>span{font-size:12px;opacity:0.7;}
.hero-inner>h1{font-size:30px;font-weight:800;margin-top:6px;color:var(--white);font-family: "Inter", sans-serif;}
.hero-inner>p{opacity:0.8;margin-top:6px;color:var(--white);}
.hero-inner-showing{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.hero-inner-showing>span{font-size:13px;color:var(--muted);}
.hero-inner-showing>.hero-showing-sort{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);}
.hero-inner-showing>.hero-showing-sort>span{padding:5px 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;}
.hero-inner-body{max-width:1200px;margin:0 auto;padding:36px 48px;}
.form-card{background: #F8FAFF; border: 1.5px solid var(--border); border-radius: 8px; padding: 20px 24px; margin-bottom: 24px;}

/* ── CARDS ── */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px;}
.stat-card{background:var(--white);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px;border-left:4px solid;}
.stat-card.blue{border-color:var(--teal);}
.stat-card.green{border-color:var(--green);}
.stat-card.orange{border-color:var(--orange);}
.stat-card.red{border-color:var(--red);}
.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.stat-icon.blue{background:#DBEAFE;} .stat-icon.green{background:var(--green-100);}
.stat-icon.orange{background:var(--vanilla);} .stat-icon.red{background:var(--light-grayish);}
.stat-val{font-size:26px;font-weight:800;color:var(--text);}
.stat-lbl{font-size:12px;color:var(--muted);margin-top:1px;}
.stat-trend{font-size:11px;margin-top:3px;}
.stat-trend.up{color:var(--green);}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;float: none;}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;}
.b-green{background:var(--green-100);color:#15803D;} .b-green::before{background:#15803D;}
.b-blue{background:#DBEAFE;color:#1D4ED8;} .b-blue::before{background:#1D4ED8;}
.b-orange{background:var(--vanilla);color:var(--dark-amber);} .b-orange::before{background:var(--dark-amber);}
.b-red{background:var(--light-grayish);color:var(--red);} .b-red::before{background:var(--red);}
.b-purple{background:#EDE9FE;color:#7C3AED;} .b-purple::before{background:#7C3AED;}
.b-gray{background:#F3F4F6;color:#6B7280;} .b-gray::before{background:#6B7280;}
.b-help-desk{background:#17A2B8;color:#fff;padding: 5px 10px; border-radius: 8px;font-size: 10px;} .b-help-desk::before{background:#17A2B8;}
/* ── TABLE ── */
table{width:100%;border-collapse:collapse;font-size:13px;}
th{padding:10px 14px;text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--muted);background:var(--light);border-bottom:1px solid var(--border);}
td{padding:12px 14px;border-bottom:1px solid #F0F4F8;vertical-align:middle;}
tr:hover td{background:#F8FAFE;}
tr:last-child td{border-bottom:none;}

/* ── PROGRESS PIPELINE ── */
.pipeline{display:flex;align-items:center;margin:18px 0;}
.pip-step{flex:1;text-align:center;position:relative;}
.pip-step:not(:last-child)::after{content:'';position:absolute;top:16px;left:60%;width:80%;height:2px;background:var(--border);}
.pip-step.done::after{background:var(--green);}
.pip-step.active::after{background:linear-gradient(90deg,var(--green),var(--border));}
.pip-circle{width:32px;height:32px;border-radius:50%;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid var(--border);background:var(--white);position:relative;z-index:1;}
.pip-step.done .pip-circle{background:var(--green);border-color:var(--green);color:var(--white);}
.pip-step.active .pip-circle{background:var(--teal);border-color:var(--teal);color:var(--white);box-shadow:0 0 0 4px rgba(0,102,153,0.2);}
.pip-step.pending .pip-circle{background:var(--white);color:var(--muted);}
.pip-label{font-size:11px;color:var(--muted);font-weight:600;}
.pip-step.done .pip-label{color:var(--green);}
.pip-step.active .pip-label{color:var(--teal);font-weight:700;}

/* ── FORM ── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
.form-grid.g3{grid-template-columns:1fr 1fr 1fr;}
.form-grid.g1{grid-template-columns:1fr;}
.fg{display:flex;flex-direction:column;gap:5px;}
.fg label{font-size:12px;font-weight:600;color:var(--text);}
.fg span{font-size:11px;color:var(--muted);}
.inp,.sel,.ta{width:100%;padding:9px 13px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;color:var(--text);background:var(--white);outline:none;transition:border 0.18s;font-family:inherit;}
.inp:focus,.sel:focus,.ta:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,0.1);}
.inp.err{border-color:var(--red);}
.ta{resize:vertical;min-height:90px;}
.form-section{margin-bottom:24px;}
.form-section h4{font-size:13px;font-weight:700;color:var(--blue);margin-bottom:14px;padding-bottom:7px;border-bottom:1px solid var(--border);}

/* ── UPLOAD ── */
.upload-zone{border:2px dashed var(--border);border-radius:10px;padding:24px;text-align:center;cursor:pointer;transition:all 0.2s;background:var(--light);}
.upload-zone:hover{border-color:var(--teal);background:#E8F2FA;}
.upload-zone .uz-icon{font-size:32px;margin-bottom:8px;}
.upload-zone p{color:var(--muted);font-size:13px;}
.upload-zone strong{color:var(--teal);}
.uploaded-file{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--light);border:1px solid var(--border);border-radius:8px;margin-top:8px;}
.uf-icon{font-size:20px;}
.uf-name{font-size:13px;font-weight:600;color:var(--text);flex:1;}
.uf-size{font-size:11px;color:var(--muted);}
.uf-del{background:none;border:none;cursor:pointer;color:var(--red);font-size:16px;}

/* ── NOTIFICATION ── */
.notif-list .notif-item{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid #F0F4F8;}
.notif-item:last-child{border-bottom:none;}
.ni-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.ni-blue{background:#DBEAFE;} .ni-green{background:var(--green-100);} .ni-orange{background:var(--vanilla);} .ni-red{background:var(--light-grayish);}
.ni-title{font-size:13px;font-weight:600;}
.ni-desc{font-size:12px;color:var(--muted);margin-top:2px;}
.ni-time{font-size:11px;color:var(--muted);margin-top:3px;}
.ni-unread .ni-title::after{content:' •';color:var(--teal);}

/* ── RFP CARD ── */
.rfp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.rfp-card{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:20px;transition:all 0.2s;cursor:pointer;}
.rfp-card:hover{border-color:var(--teal);box-shadow:var(--shadow-lg);transform:translateY(-2px);}
.rfp-card.featured{border-color:var(--teal);background:linear-gradient(135deg,#F0F6FF 0%,#E8F2FA 100%);}
.rfp-tag{display:inline-flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.rfp-card h3{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:6px;}
.rfp-card p{font-size:12.5px;color:var(--muted);margin-bottom:14px;line-height:1.55;}
.rfp-meta{display:flex;gap:18px;font-size:12px;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;margin-top:4px;}
.rfp-meta span{display:flex;align-items:center;gap:4px;}
.rfp-actions{display:flex;gap:8px;margin-top:14px;}
.deadline-bar{background:var(--vanilla);border:1px solid #FDE68A;border-radius:6px;padding:7px 12px;font-size:12px;color:var(--dark-amber);margin-bottom:12px;display:flex;align-items:center;gap:6px;}

/* ── DD CHECKLIST ── */
.check-item{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #F0F4F8;}
.check-item:last-child{border-bottom:none;}
.ci-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;cursor:pointer;font-size:13px;}
.ci-check.checked{background:var(--green);border-color:var(--green);color:var(--white);}
.ci-check.pending{background:var(--vanilla);border-color:var(--gold);}
.ci-check.fail{background:var(--light-grayish);border-color:var(--red);}
.ci-text strong{font-size:13px;}
.ci-text p{font-size:12px;color:var(--muted);margin-top:2px;}

/* ── TIMELINE ── */
.timeline{position:relative;padding-left:28px;}
.timeline::before{content:'';position:absolute;left:9px;top:0;bottom:0;width:2px;background:var(--border);}
.tl-item{position:relative;margin-bottom:20px;}
.tl-item::before{content:'';position:absolute;left:-23px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--white);box-shadow:0 0 0 2px var(--teal);}
.tl-item.done::before{background:var(--green);box-shadow:0 0 0 2px var(--green);}
.tl-item.active::before{background:var(--teal);animation:pulse 1.5s infinite;}
.tl-item.pending::before{background:var(--white);}
@keyframes pulse{0%,100%{box-shadow:0 0 0 2px var(--teal);}50%{box-shadow:0 0 0 5px rgba(0,102,153,0.2);}}
.tl-date{font-size:11px;color:var(--muted);font-weight:600;}
.tl-title{font-size:13px;font-weight:700;margin-top:1px;}
.tl-desc{font-size:12px;color:var(--muted);margin-top:2px;}

/* ── PAYMENT ── */
.payment-track{display:flex;align-items:center;gap:0;margin:18px 0;}
.pt-step{flex:1;text-align:center;position:relative;}
.pt-step:not(:last-child)::after{content:'';position:absolute;top:18px;left:55%;width:90%;height:3px;background:var(--border);}
.pt-step.done::after{background:var(--green);}
.pt-step.active::after{background:linear-gradient(90deg,var(--green),var(--border));}
.pt-circle{width:36px;height:36px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;border:2px solid var(--border);background:var(--white);position:relative;z-index:1;}
.pt-step.done .pt-circle{background:var(--green);border-color:var(--green);color:var(--white);}
.pt-step.active .pt-circle{background:var(--teal);border-color:var(--teal);color:var(--white);animation:pulse 1.5s infinite;}
.pt-label{font-size:11px;font-weight:600;color:var(--muted);}
.pt-step.done .pt-label{color:var(--green);}
.pt-step.active .pt-label{color:var(--teal);font-weight:700;}

/* ── PROFILE AVATAR ── */
.profile-header{display:flex;align-items:center;gap:20px;padding:20px;background:linear-gradient(135deg,var(--blue),var(--teal));border-radius:12px;color:var(--white);margin-bottom:22px;}
.prof-av{width:72px;height:72px;background:rgba(255,255,255,0.2);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;}
.prof-info h2{font-size:20px;font-weight:800;color: var(--white)}
.prof-info p{opacity:0.8;font-size:13px;margin-top:3px;color: var(--white)}
.prof-badges{display:flex;gap:8px;margin-top:8px;}
.prof-badge{background:rgba(255,255,255,0.2);border:1px solid rgba(255,255,255,0.35);padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.prof-right{margin-left:auto;text-align:right;}
.prof-right .score{font-size:36px;font-weight:800;color: var(--white)}
.prof-right p{font-size:12px;opacity:0.75;color: var(--white)}

/* ── GPS ── */
.gps-box{background:var(--light);border:1.5px solid var(--border);border-radius:10px;padding:20px;text-align:center;}
.gps-map{width:100%;height:180px;background:linear-gradient(135deg,#1a3a5c 0%,#2d6b9f 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:40px;margin-bottom:12px;position:relative;overflow:hidden;}
.gps-map::after{content:'';position:absolute;width:20px;height:20px;background:var(--orange);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 6px rgba(232,119,34,0.3);}
.gps-coords{font-family:'Courier New',monospace;font-size:13px;color:var(--teal);font-weight:600;}

/* ── MODAL ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;opacity: 1;}
.modal-overlay.open .modal{display: block;left: auto;}
.modal{border-radius:16px;overflow:auto;box-shadow:var(--shadow-lg);}
.modal-head{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;}
.modal-head h3{font-size:16px;font-weight:700;color:var(--blue);flex:1;}
.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--muted);}
.modal-body{padding:22px 24px;}
.modal-foot{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;}

/* ── TABS ── */
.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:22px;}
.tab{padding:10px 20px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.18s;}
.tab:hover{color:var(--teal);}
.tab.active{color:var(--teal);border-bottom-color:var(--teal);}
.tab-content{display:none;} .tab-content.active{display:block;}

/* ── MISC ── */
.alert{display:flex;gap:10px;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:13px;align-items:flex-start;}
.alert-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
.a-info{background:#DBEAFE;border-left:4px solid #3B82F6;}
.a-warn{background:var(--vanilla);border-left:4px solid #F59E0B;}
.a-success{background:var(--green-100);border-left:4px solid #22C55E;}
.a-danger{background:var(--light-grayish);border-left:4px solid #EF4444;}
.divider{display:flex;align-items:center;gap:10px;margin:20px 0;color:var(--muted);font-size:12px;font-weight:600;}
.divider hr{flex:1;border:none;border-top:1px solid var(--border);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;}
.empty-state{text-align:center;padding:40px;color:var(--muted);}
.empty-state .es-icon{font-size:48px;margin-bottom:12px;}
.empty-state h4{font-size:15px;color:var(--text);margin-bottom:6px;}

.card-header {display: flex;align-items: center;justify-content: space-between;padding: 16px 22px;border-bottom: 1px solid var(--border);background: var(--white);}
.card-header h3 {font-size: 15px;font-weight: 700;color: var(--blue);}
.card-header p {font-size: 12px;color: var(--muted);margin-top: 2px;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all 0.18s;}
.btn-primary{background:var(--teal);color:var(--white);} .btn-primary:hover{background:var(--nsf-blue);}
.btn-green{background:var(--green);color:var(--white);} .btn-green:hover{background:#005C38;}
.btn-orange{background:var(--orange);color:var(--white);} .btn-orange:hover{background:#C5621A;}
.btn-outline{background:transparent;color:var(--nsf-teal);border:1.5px solid var(--teal);} .btn-outline:hover{background:var(--light);}
.btn-ghost{background:var(--light);color:var(--nsf-blue);border:1px solid var(--border);} .btn-ghost:hover{background:#DDE8F5;}
.btn-sm{padding:5px 12px;font-size:12px;}
.btn-danger{background:var(--light-grayish);color:var(--nsf-red);border:1px solid #FECACA;}
.btn-close{font-size:14px;background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat !important;}
.tb-btn {background: none;border: none;cursor: pointer;padding: 8px;border-radius: 8px;color: var(--muted);font-size: 18px;position: relative;}
.notif-dot {position: absolute;top: 5px;right: 5px;width: 8px;height: 8px;background: var(--red);border-radius: 50%;border: 2px solid var(--white);}
.tb-btn:hover {background: var(--light);}
.loader{background-color: rgba(0, 51, 102, 0.7);position: fixed;top: 0;width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;z-index: 999;}
.loader .shapes {width: 40px;height: 40px;color: var(--teal);display: grid;}
.loader .shapes::before,.loader .shapes::after {content: "";grid-area: 1/1;background: currentColor;clip-path: polygon(0 0,50% 50%, 0 100%);animation: sp1 2s infinite;}
.loader .shapes::after {animation-delay: -1.5s;--s:90deg;}

@keyframes sp1 {
    0%,12.5%    {transform:rotate(var(--s,0deg)) rotate(0deg)}
    37.5%,62.5% {transform:rotate(var(--s,0deg)) rotate(-180deg)}
    87.5%,100%  {transform:rotate(var(--s,0deg)) rotate(-360deg)}
}

@media(max-width:900px){
    /* .sidebar{width:60px;} .sb-logo .logo-text,.sb-user,.nav-section,.nav-item span,.nav-badge{display:none;} */
    .main{margin-left:60px;} .topbar{left:60px;}
    .stat-grid{grid-template-columns:1fr 1fr;} .rfp-grid{grid-template-columns:1fr;}
    .two-col,.three-col,.form-grid{grid-template-columns:1fr;}
}

/* Signup OTP Screen */

.otp-screen{
    animation:fadeIn .35s ease;
}

.otp-inputs{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-top:10px;
}

.otp-box{
    width:52px;
    height:58px;
    border:1px solid #D1D5DB;
    border-radius:12px;
    text-align:center;
    font-size:24px;
    font-weight:700;
    outline:none;
    transition:.25s;
}

.otp-box:focus{
    border-color:#2563EB;
    box-shadow:0 0 0 3px rgba(37,99,235,.15);
}

.otp-info{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:20px 0 10px;
    font-size:14px;
    color:#6B7280;
}

#countdown{
    font-weight:600;
    color:#DC2626;
}

.otp-actions{
    text-align:center;
    margin-bottom:20px;
}

.btn-secondary{
    background:#fff;
    border:1px solid #D1D5DB;
    color:#374151;
    border-radius:10px;
    padding:10px 20px;
    cursor:pointer;
}

.btn-secondary:disabled{
    opacity:.5;
    cursor:not-allowed;
}

@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(15px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* Payment Received */
.payment-info-box {
    background: var(--light);
    border-radius: 10px;
    padding: 16px;
    margin-top: 4px;
}

.payment-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    font-size: 13px;
}

.label {
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
}

.amount {
    font-size: 20px;
    font-weight: 800;
    color: var(--blue);
}

.value {
    font-weight: 700;
}

.table-body {
    padding: 0;
}

.utilisation-summary {
    text-align: center;
    margin-bottom: 20px;
}

.total-amount {
    font-size: 36px;
    font-weight: 800;
    color: var(--blue);
}

.summary-text {
    font-size: 13px;
    color: var(--muted);
}

.progress-bar {
    background: var(--border);
    border-radius: 20px;
    height: 12px;
    margin: 12px auto;
    max-width: 300px;
}

.progress-fill {
    background: linear-gradient(90deg, var(--green), var(--teal));
    height: 12px;
    border-radius: 20px;
    width: 50%;
}

.summary-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: var(--light);
    border-radius: 8px;
}

.item-title {
    font-size: 13px;
}

.item-value {
    text-align: right;
}

.item-value strong {
    font-weight: 700;
}

.item-percent {
    font-size: 11px;
    color: var(--muted);
}
.due-diligence #exampleModalLabel{margin: 0;color: #5A6A7A;}
.due-diligence .modal-body .diligence-detail{font-size:16px;}
.due-diligence .modal-footer{gap:10px;}
.due-diligence .modal-footer .btn{flex: 1;
    justify-content: center;
    margin: 0;
    padding: 10px 20px;}
    .dd-area{color:var(--teal);font-weight:600;font-size:13px;}
.dd-type{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;
         font-size:12px;font-weight:600;border:1.5px solid;}
.dd-type.t-doc{background:#EAF2FF;border-color:#B6D2F5;color:#1D4ED8;}
.dd-type.t-que{background:#FDF0F8;border-color:#F3C6E3;color:#A93A86;}
.dd-type.t-loc{background:var(--green-100);border-color:#A6E3BE;color:#15803D;}
.dd-desc{font-size:13px;color:var(--text);line-height:1.55;max-width:340px;}
.dd-desc.empty{color:var(--muted);font-style:italic;}
.dd-cat{font-size:13px;color:var(--text);}
.dd-wrap{max-width:1280px;margin:0 auto;padding:28px 24px 60px;}

.dd-upload{margin:0;cursor:pointer;}
.dd-file{display:none;align-items:center;gap:8px;margin-top:8px;padding:7px 10px;background:var(--light);border:1px solid var(--border);border-radius:8px;max-width:200px;}
.dd-file.show{display:flex;}
.dd-file .fname{font-size:11.5px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dd-file .fsize{font-size:10.5px;color:var(--muted);}
.dd-file .fdel{background:none;border:none;color:var(--red);font-size:14px;line-height:1;cursor:pointer;padding:0 2px;}
.dd-err{display:none;font-size:11px;color:var(--red);margin-top:5px;}
.dd-err.show{display:block;}

/* ── DD CHECKLIST ── */
  .check-item[class^=check-]{display:flex !important;align-items:flex-start !important;gap:12px;padding:13px 0;border-bottom:1px solid #F0F4F8 !important;width: auto !important;height: auto !important;    justify-content: flex-start;}
  .check-item:last-child{border-bottom:none;}
  .ci-check{width:22px;height:22px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;cursor:pointer;font-size:13px;}
  .ci-check.checked{background:var(--green);border-color:var(--green);color:#fff;}
  .ci-check.pending{background:#FEF3C7;border-color:var(--gold);}
  .ci-check.fail{background:#FEE2E2;border-color:var(--red);}
  .ci-text strong{font-size:13px;}
  .ci-text p{font-size:12px;color:var(--muted);margin-top:2px;}

  .acc{border:1.5px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px;background:#fff;}
.acc-btn{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:var(--light);cursor:pointer;user-select:none;border:none;width:100%;font-family:inherit;text-align:left;transition:background .2s;}
.acc-btn:hover{background:#E0EAFF;}
.acc-left{display:flex;align-items:center;gap:14px;}
.acc-num{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.acc-title{font-size:14px;font-weight:700;color:var(--navy);}
.acc-right{display:flex;align-items:center;gap:12px;}
.acc-badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:10px;font-size:11px;font-weight:600;}
.badge-req{background:var(--vanilla);color:var(--dark-amber);}
.badge-opt{background:#E0EAFF;color:var(--navy);}
.acc-chev{color:var(--gold);font-size:18px;transition:transform .25s;font-weight:700;}
.acc-body{padding:24px;display:none;}
.acc.open .acc-body{display:block;}
.acc.open .acc-chev{transform:rotate(180deg);}

/* ── Dynamic Table ── */
.dtbl{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px;}
.dtbl thead tr{background:var(--navy);color:#fff;}
.dtbl th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;}
.dtbl td{padding:8px 10px;border-bottom:1px solid var(--border);}
.dtbl td input,.dtbl td select,.dtbl td textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:12px;font-family:inherit;background:#FAFCFF;outline:none;color:var(--text);}
.dtbl td input:focus,.dtbl td select:focus,.dtbl td textarea:focus{border-color:var(--teal);}
.dtbl td textarea{min-height:50px;resize:vertical;}
.del-cell{text-align:center;width:40px;}
.del-cell button{background:none;border:none;color:var(--red);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;}
.del-cell button:hover{background:var(--light-grayish);}

/* ── Help Desk Modal ── */

.info-block{padding:16px;border-radius:10px;margin-bottom:16px;}
.ib-blue{background:#DBEAFE;border-left:4px solid #3B82F6;}
.ib-green{background:var(--green-100);border-left:4px solid var(--green);}
.ib-amber{background:var(--vanilla);border-left:4px solid var(--gold);}
.ib-red{background:var(--light-grayish);border-left:4px solid var(--red);}
.info-block h4{font-size:13px;font-weight:700;margin:0 0 6px;color:var(--navy);}
.info-block p,.info-block li{font-size:12px;color:var(--text);line-height:1.65;margin:0;}
.info-block ul{padding-left:16px;margin-top:6px;}
.info-block li{margin-bottom:4px;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;}
.contact-card{background:var(--light);border:1.5px solid var(--border);border-radius:10px;padding:16px;text-align:center;}
.cc-icon{font-size:28px;margin-bottom:6px;}
.cc-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.cc-value{font-size:14px;font-weight:700;color:var(--navy);margin-top:4px;}
.cc-value a{color:var(--teal);text-decoration:none;}

.help-text-details h3 strong {
    font-size: 16px;
    color: #6b7a8d;
}
.help-text-details p{
    font-size: 13px;
}


/*Contract page css*/
/* ══════ PAGE ══════ */
        .page.contract_main_table{ max-width: 1280px; margin: 0 auto; padding: 36px 40px 60px; }
        .contract_main_table .page-title { font-size: 22px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
        .contract_main_table .page-desc { font-size: 14px; color: var(--text-muted); line-height: 1.6; margin-bottom: 24px; }

        /* ══════ TABLE CARD — uses Figma card tokens ══════ */
        .contract_main_table .table-card {
            background: var(--white);
            border-radius: var(--card-radius);
            border: 0.667px solid var(--card-border);
            box-shadow: var(--shadow);
            overflow: hidden;
        }

        /* Table header — #003366 navy (Figma primary) */
        .contract_main_table .table-card .tbl-head {
            display: grid;
            grid-template-columns: 1.1fr 1.6fr 1fr 0.8fr 1fr 100px;
            background: var(--navy);
            padding: 14px 24px;
            gap: 12px;
        }
        .contract_main_table .table-card .tbl-head span {
            font-size: 11.5px; font-weight: 700; color: #fff;
            text-transform: uppercase; letter-spacing: 0.5px;
        }

        /* Filter row — #f0f6ff (Figma input bg) */
        .contract_main_table .table-card .filter-row {
            display: grid;
            grid-template-columns: 1.1fr 1.6fr 1fr 0.8fr 1fr 100px;
            padding: 10px 24px; gap: 12px;
            border-bottom: 0.667px solid var(--border);
            background: var(--input-bg);
        }
        .contract_main_table .table-card .filter-row input, .contract_main_table .table-card .filter-row select {
            width: 100%; height: 34px;
            border: 0.667px solid var(--border); border-radius: 8px;
            padding: 0 10px; font-size: 12px; font-family: 'Inter', sans-serif;
            color: var(--text-dark); background: #fff; outline: none;
            transition: border-color 0.2s;
        }
        .contract_main_table .table-card .filter-row input:focus, .contract_main_table .table-card .filter-row select:focus { border-color: var(--navy); }
        .contract_main_table .table-card .filter-row input::placeholder { color: #B0BEC5; }
        .contract_main_table .table-card .filter-row .filter-btn {
            width: 34px; height: 34px;
            background: var(--navy); border: none; border-radius: 8px;
            color: #fff; font-size: 14px; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background 0.2s; align-self: center; justify-self: center;
        }
        .contract_main_table .table-card .filter-row .filter-btn:hover { background: var(--navy-dark); }

        /* Data rows */
        .contract_main_table .table-card #tBody .data-row {
            display: grid;
            grid-template-columns: 1.1fr 1.6fr 1fr 0.8fr 1fr 100px;
            padding: 16px 24px; gap: 12px; align-items: center;
            border-bottom: 0.667px solid var(--border);
            cursor: pointer; transition: background 0.15s;
        }
        .contract_main_table .table-card #tBody .data-row:hover { background: var(--input-bg); }
        .contract_main_table .table-card #tBody .data-row.expanded { background: #E8EDF5; }
        .contract_main_table .table-card #tBody .data-row .col-id { font-weight: 700; font-size: 14px; color: var(--text-dark); }
        .contract_main_table .table-card #tBody .data-row .col-project { font-size: 13px; color: var(--text-dark); }
        .contract_main_table .table-card #tBody .data-row .col-amount { font-weight: 700; font-size: 14px; color: var(--text-dark); }
        .contract_main_table .table-card #tBody .data-row .col-date { font-size: 12.5px; color: var(--text-muted); }

        /* Status badges — Figma badge pattern: 6px dot + Semi Bold 11.5px + rounded-20 */
        .contract_main_table .table-card #tBody .data-row .status {
            display: inline-flex; align-items: center; gap: 5px;
            padding: 4px 12px; border-radius: 20px;
            font-size: 11.5px; font-weight: 600;
        }
        .contract_main_table .table-card #tBody .data-row .status .dot { width: 6px; height: 6px; border-radius: 50%; }
        .contract_main_table .table-card #tBody .data-row .status.active    { background: var(--green-bg); color: var(--green); }
        .contract_main_table .table-card #tBody .data-row .status.active .dot { background: var(--green); }
        .contract_main_table .table-card #tBody .data-row .status.suspended { background: var(--amber-bg); color: var(--amber-text); }
        .contract_main_table .table-card #tBody .data-row .status.suspended .dot { background: var(--amber-text); }
        .contract_main_table .table-card #tBody .data-row .status.closed    { background: var(--gray-bg); color: var(--muted); }
        .contract_main_table .table-card #tBody .data-row .status.closed .dot { background: var(--muted); }
        .contract_main_table .table-card #tBody .data-row .status.pending   { background: var(--red-bg); color: var(--red); }
        .contract_main_table .table-card #tBody .data-row .status.pending .dot { background: var(--red); }

        /* Actions */
        .contract_main_table .table-card #tBody .data-row .row-actions { display: flex; align-items: center; gap: 8px; justify-content: flex-end; }
        .contract_main_table .table-card #tBody .data-row .row-actions .view-details {
           padding: 6px 10px;
            background: var(--navy); border: none; border-radius: 8px;
            color:var(--white); font-size: 10px; cursor: pointer;white-space: nowrap;
            display: flex; align-items: center; justify-content: center; transition: all 0.2s;
        }
        .contract_main_table .table-card #tBody .data-row .row-actions span.chevron {
            font-size: 18px; color: var(--text-muted);
            transition: transform 0.3s; user-select: none;
        }
        .contract_main_table .table-card #tBody .data-row.expanded .chevron { transform: rotate(180deg); color: var(--navy); }

        /* Expanded detail panel */
        .contract_main_table .table-card #tBody .detail-panel {
            display: none; padding: 0 24px 20px;
            background: var(--white); border-bottom: 0.667px solid var(--border);
        }
        .contract_main_table .table-card #tBody .detail-panel.open { display: block; }
        .contract_main_table .table-card #tBody .detail-panel .detail-inner {
            display: grid; grid-template-columns: 1fr 1fr; gap: 28px;
            padding: 22px 28px; background: var(--input-bg);
            border-radius: 10px; border: 0.667px solid var(--border);
        }
        .detail-inner .detail-section-title {
            font-size: 11px; font-weight: 700; color: var(--navy);
            text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 14px;
        }
        .detail-inner .detail-field { margin-bottom: 10px; }
        .detail-inner .detail-field .lbl {
            font-size: 11px; color: var(--text-muted);
            text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 2px;
        }
        .detail-inner .detail-field .val { font-size: 14px; font-weight: 600; color: var(--text-dark); }

        /* File items — uses Figma input-bg for rows */
        .detail-inner .file-item {
            display: flex; align-items: center; gap: 12px;
            padding: 10px 14px; background: #F8F0F0; border-radius: 8px; margin-bottom: 8px;
        }
        .detail-inner .file-icon {
            width: 36px; height: 36px;
            background: #6b7a8d14; border-radius: 8px;
            display: flex; align-items: center; justify-content: center;
            color: #6B7A8D; font-size: 10px;
        }
        .detail-inner .file-info { flex: 1; }
        .detail-inner .file-info .fname { font-size: 13px; font-weight: 600; color: var(--text-dark); }
        .detail-inner .file-info .ftype { font-size: 10.5px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.3px; }
        .detail-inner .file-dl {
            color: #ffffff; font-size: 11px; cursor: pointer;background-color: #006699;
            padding: 4px 8px; border-radius: 4px; transition: background 0.2s;
        }
        .detail-inner .file-dl:hover { background:var(--blue); }

       
/* ══ contract Horizontal Step Progress Bar (.hprog) ══ */
.funding .hstep{
    display:flex;
    align-items:center;
    gap:0px;
    position:relative;
    flex-shrink:0;
    /* min-width:140px; */
    /* padding:0 18px 0 6px;  */
    cursor:pointer;
    justify-content: center;
    margin: 0;
    padding: 15px 0;
    border-bottom: 2px solid #dddddda3;
    width: 100%;
}
.funding .hstep:last-child::after{display: none;}

/* Three dots */
/* .funding .hstep::after{
    content:'';
    width:3px;
    height:3px;
    border-radius:50%;
    background:#C5CDD8;
    position:absolute;
    right:-6.5px;
    top:50%;
    transform:translateY(-50%);
    box-shadow:
        5px 0 0 #C5CDD8,
        10px 0 0 #C5CDD8;
} */

/* Active */
.funding .hstep.active::after{
    background:var(--navy);
    box-shadow:
        5px 0 0 var(--navy),
        10px 0 0 var(--navy);
}

/* Done */
.funding .hstep.done::after{
    background:var(--green);
    box-shadow:
        5px 0 0 var(--green),
        10px 0 0 var(--green);
}
/* .funding .hprog-wrap{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:68px;z-index:200;box-shadow:0 2px 8px rgba(0,0,0,0.06);} */
.funding .hprog-wrap{background: #fff;
border-bottom: 1px solid var(--border);
    position: sticky;
    top: 125px;
    z-index: 200;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    height: calc(100vh - 70px);
    overflow: auto;
    width: 145px;}
.funding .hprog-scroll{overflow-x:auto;
background: var(--white);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 68px;
    z-index: 200;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);}
.funding .hprog-scroll::-webkit-scrollbar{height:4px;}
.funding .hprog-scroll::-webkit-scrollbar-track{background:transparent;}
.funding .hprog-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
.funding .hprog-inner{display:flex;min-width:max-content;justify-content: center;align-items: center;
    flex-direction: column;
    margin: 0 auto;
    gap: 10px;}
/* .funding .hstep{display:flex;align-items:center;gap:8px;position:relative;flex-shrink:0;min-width:110px;padding:0 6px;cursor:pointer;} */
.funding .hstep .hheading{display: flex; flex-direction: column; align-items: center; gap:10px;}
/* .funding .hstep:not(:last-child)::after{content:'';position:absolute;top:12px;left:calc(50% + 16px);width:calc(100% - 32px);height:2px;background:#DDE3ED;z-index:0;} */
.funding .hstep .hlabel{font-size:12px;color:var(--muted);font-weight:500;text-align:center;line-height:1.35;max-width:120px;transition:color .2s;}
.funding .hstep .hcircle{width:26px;height:26px;border-radius:50%;border:2.5px solid #DDE3ED;background:var(--white);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:all .25s;flex-shrink:0;}
.funding .hstep .hcircle::after{content:'';width:0;height:0;border-radius:50%;background:transparent;transition:all .25s;}
.funding .hstep .hdots{display:flex;gap:2px;margin-top:-2px;}
.funding .hstep .hdots span{width:3px;height:3px;border-radius:50%;background:#C5CDD8;}
/* Active state */
.funding .hstep.active .hlabel{color:var(--navy);font-weight:700;}
.funding .hstep.active .hcircle{border-color:var(--navy);background:var(--white);}
.funding .hstep.active .hcircle::after{content:'';width:12px;height:12px;border-radius:50%;background:var(--navy);}
.funding .hstep.active .hdots span{background:var(--navy);}
/* Done state */
.funding .hstep.done:not(:last-child)::after{background:var(--green);}
.funding .hstep.done .hlabel{color:var(--green);font-weight:600;}
.funding .hstep.done .hcircle{border-color:var(--green);background:var(--green);}
.funding .hstep.done .hcircle::after{content:'✓';width:auto;height:auto;background:transparent;color:var(--white);font-size:12px;font-weight:700;}
.funding .hstep.done .hdots span{background:var(--green);}
/* Hover */
.funding .hstep:hover .hlabel{color:var(--navy);}
.funding .hstep:hover .hcircle{border-color:var(--teal);}

/* ── card-hdr with actions on the right ── */
.funding .card-hdr.hdr-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.funding .card-hdr .hdr-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.funding .btn-hdr{padding:8px 22px;border-radius:8px;border:none;background:var(--white);color:var(--navy);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .2s;}
.funding .btn-hdr:hover{opacity:.85;}
.funding .btn-hdr-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;}

/* section label without the underline */
.funding .sdiv-plain{border-bottom:none;margin:0 0 12px;padding-bottom:0;}

/* horizontal scroll shell for wide tables */
.funding .tbl-scroll{overflow-x:auto;}



/* ── ANNEXURE 2-COLUMN TABLE (Contract Pack) ── */
.funding .tbl-annex{table-layout:fixed;font-size:13px;margin-bottom:8px;}
.funding .tbl-annex col.c-desc{width:42%;}
.funding .tbl-annex col.c-val{width:58%;}
.funding .tbl-annex tbody td{padding:12px 14px;}
.funding .tbl-annex tbody td.desc{font-size:12px;font-weight:700;background: var(--navy); color:var(--white);line-height:1.5;}
.funding .tbl-annex tbody td.val{font-size:12px;color:var(--text);}
.funding .tbl-annex tbody td.val input, .funding .tbl-annex tbody td.val select {
    background: #F8FAFF;
    border: 1px solid #E4EBF5;
    border-radius: 6px;
    padding: 9px 12px;
    font-size: 13px;
    color: var(--text);
}
/* .funding .tbl-annex tbody td.editable{background:#F8FAFF;} */
.funding .tbl-annex tbody td input,.funding .tbl-annex tbody td select,.funding .tbl-annex tbody td textarea{font-size:13px;}

/* textarea support inside .tbl (custom.css styles only input + select) */
.funding .tbl tbody td textarea{border:none;background:transparent;font-size:12px;width:100%;font-family:inherit;padding:3px 4px;resize:vertical;line-height:1.7;color:var(--text);}
.funding .tbl tbody td textarea:focus{outline:1px solid var(--teal);border-radius:3px;background:var(--white);}

/* ── KEY / VALUE TABLE (navy label column + boxed input) ── */
.funding .tbl-kv{table-layout:fixed;}
.funding .tbl-kv col.c-lbl{width:28%;}
.funding .tbl-kv col.c-val{width:72%;}
.funding .tbl-kv tbody tr:nth-child(even){background:transparent;}
.funding .tbl-kv tbody td{padding:0;border-color:var(--border);}
.funding .tbl-kv tbody td.lbl{background:var(--navy);color:var(--white);font-size:12px;font-weight:700;padding:12px 14px;border-color:var(--navy2);line-height:1.4;}
.funding .tbl-kv tbody td.val{padding:8px 12px;}
.funding .tbl-kv tbody td.val input{background:#F8FAFF;border:1px solid #E4EBF5;border-radius:6px;padding:9px 12px;font-size:12px;color:var(--text);}
.funding .tbl-kv tbody td.val input::placeholder{color:#9DAAB9;}
.funding .tbl-kv tbody td.val input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,.10);background:var(--white);}

/* ── PROJECT SITE TABLE (wide, multi-line cells) ── */
.funding .tbl-site{min-width:1180px;font-size:13px;}
.funding .tbl-site thead th{white-space:normal;font-size:14px;line-height:1.35;vertical-align:middle;}
.funding .tbl-site tbody td{vertical-align:top;padding:10px 12px; font-size:12px;}
.funding .tbl-site tbody td input,.funding .tbl-site tbody td textarea{font-size:13px;padding:2px;}
.funding .tbl-site tbody td.ta-tall textarea{min-height:150px;}

/* ── BENEFICIARIES TABLE (grouped headers + auto totals) ── */
.funding .tbl-ben{table-layout:fixed;min-width:1070px;}

/* column widths — numeric columns are all identical */
.funding .tbl-ben col.c-prov{width:160px;}
.funding .tbl-ben col.c-site{width:150px;}
.funding .tbl-ben col.c-num {width:110px;}
.funding .tbl-ben col.c-tot {width:100px;}

/* header */
.funding .tbl-ben thead th{
  text-align:center;vertical-align:middle;
  font-size:14px;letter-spacing:.4px;padding:10px 8px;white-space:normal;
  border-right:1px solid rgba(255,255,255,.18);
}
.funding .tbl-ben thead th:last-child{border-right:none;}

/* body + footer share identical box metrics so columns line up */
.funding .tbl-ben tbody tr:nth-child(even){background:transparent;}
.funding .tbl-ben tbody td,
.funding .tbl-ben tfoot td{
  padding:8px 10px;text-align:center;vertical-align:middle;font-size:12px;
}
.funding .tbl-ben tbody td.cell-left,
.funding .tbl-ben tfoot td.cell-left{text-align:left;}
.funding .tbl-ben tfoot td.cell-left{text-transform:uppercase;letter-spacing:.5px;}

/* inputs fill the cell and centre their own text */
.funding .tbl-ben tbody td input,
.funding .tbl-ben tbody td select{
  width:100%;text-align:center;font-size:13px;padding:4px 2px;
}
.funding .tbl-ben tbody td.cell-left input,
.funding .tbl-ben tbody td.cell-left select{text-align:left;padding-left:4px;}

/* KEY FIX — kill the number spinners that pushed the digits left */
.funding .tbl-ben input[type=number]{-moz-appearance:textfield;appearance:textfield;}
.funding .tbl-ben input[type=number]::-webkit-outer-spin-button,
.funding .tbl-ben input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.funding .tbl-ben tbody td.row-total{font-weight:700;color:var(--teal);}

.funding .tbl-sign tbody td.cell-phone .phone-wrap{display:flex;align-items:center;gap:6px;padding-right:30px;}
.funding .tbl-sign tbody td.cell-phone .dial-sel{
  flex:0 0 86px;width:86px;min-width:86px;
  background:#F8FAFF;border:1px solid #E4EBF5;border-radius:6px;
  padding:8px 6px;font-size:12.5px;font-family:inherit;color:var(--text);cursor:pointer;
}
.funding .tbl-sign tbody td.cell-phone .dial-sel:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,.10);}
.funding .tbl-sign tbody td.cell-phone .phone-inp{
  flex:1 1 auto;min-width:0;
  background:#F8FAFF;border:1px solid #E4EBF5;border-radius:6px;
  padding:8px 10px;font-size:12.5px;font-family:inherit;color:var(--text);
}
.funding .tbl-sign tbody td.cell-phone .phone-inp:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,.10);}

/* ── IMPLEMENTATION PLAN TABLE ── */
.funding .tbl-scrollimp{overflow-x:auto;}
.funding .tbl-plan{table-layout:fixed;min-width:1080px;font-size:13px;}
.funding .tbl-plan col.c-no{width:52px;}
.funding .tbl-plan col.c-act{width:27%;}
.funding .tbl-plan col.c-del{width:24%;}
.funding .tbl-plan col.c-lead{width:14%;}
.funding .tbl-plan col.c-from{width:16%;}
.funding .tbl-plan col.c-to{width:16%;}
.funding .tbl-plan thead th{font-size:14px;font-weight:700;padding:11px 14px;}
.funding .tbl-plan tbody tr:nth-child(even){background:transparent;}
.funding .tbl-plan tbody td{padding:10px 14px;border-left:none;border-right:none;font-size:12px;}
.funding .tbl-plan tbody td.col-no{color:var(--text);}
.funding .tbl-plan tbody td input[type=date]{
  background:#F8FAFF;border:1px solid #E4EBF5;border-radius:6px;padding:8px 10px;
  font-size:13px;color:var(--text);width:100%;font-family:inherit;transition:border-color .18s,box-shadow .18s;
}
.funding .tbl-plan tbody td input[type=date]:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,.10);background:var(--white);}

/* ── GANTT CHART ── */
.funding .gantt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:6px;}
.funding .gantt-head h3{font-size:17px;font-weight:700;color:var(--navy);}
.funding .gantt-head p{font-size:12.5px;color:var(--muted);margin-top:2px;}
.funding .gantt-actions{display:flex;gap:8px;flex-shrink:0;}
.funding .g-icon-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--white);color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s;}
.funding .g-icon-btn:hover{background:var(--light);}

.funding .g-legend{display:flex;flex-wrap:wrap;gap:22px;margin:16px 0 14px;}
.funding .g-legend span{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);}
.funding .g-legend i{width:12px;height:12px;border-radius:3px;display:inline-block;}
.funding .lg-done{background:#1B5E8E;} .funding .lg-month{background:#D2601A;}
.funding .lg-qtr{background:#D4A017;}  .funding .lg-next{background:#3F5D2C;}

/* scroll shell — the whole grid scrolls horizontally, label column stays put */
.funding .gantt-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--white);}
.funding .gantt{min-width:max-content;}

/* every row is label + track */
.funding .g-row{display:flex;align-items:stretch;}
.funding .g-label{
  position:sticky;left:0;z-index:2;flex:0 0 260px;width:260px;
  background:var(--white);border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:12px;padding:9px 14px;font-size:13px;font-weight:600;color:var(--text);
}
.funding .g-label .g-no{color:var(--muted);font-weight:700;font-size:12px;min-width:18px;text-align:right;}
.funding .g-label .g-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.funding .g-track{position:relative;display:grid;grid-auto-flow:column;height:100%;}
.funding .g-track .g-cell{border-right:1px solid #EEF2F8;border-bottom:1px solid var(--border);min-height:41px;}

/* header rows */
.funding .g-head .g-label{
  background:var(--navy);color:var(--white);border-right:1px solid rgba(255,255,255,.18);
  border-bottom:none;z-index:3;align-items:flex-end;justify-content:center;font-weight:700;font-size:13px;
}
.funding .g-head .g-track > div{
  background:var(--navy);color:var(--white);text-align:center;font-weight:700;
  border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
}
.funding .g-head .g-year{font-size:13.5px;padding:9px 0;}
.funding .g-head .g-qtr{font-size:12px;padding:10px 0;}
.funding .g-head .g-qtr.current{background:#D2601A;border-radius:6px;}
.funding .g-head .g-month{font-size:10.5px;font-weight:600;line-height:1.25;flex-direction:column;padding:9px 0;background:var(--navy);}
.funding .g-head .g-month.current{background:#FDF3E3;color:#B45309;}

/* bars */
.funding .g-bar{
  position:absolute;top:50%;transform:translate(-90px, -11px);height:20px;border-radius:4px;
  cursor:default;transition:filter .15s;
}
.funding .g-bar:hover{filter:brightness(1.12);}
.funding .g-bar.done{background:#1B5E8E;}
.funding .g-bar.month{background:#D2601A;}
.funding .g-bar.qtr{background:#D4A017;}
.funding .g-bar.next{background:#3F5D2C;}

.funding .tbl-check thead th{font-size:14px;font-weight:700;padding:11px 10px;}
.funding .tbl-check tbody tr:nth-child(even){background:transparent;}
.funding .tbl-check tbody td{padding:14px 10px;vertical-align:middle;border-left:none;border-right:1px solid #d3d3d3;}
.funding .tbl-check tbody td.col-no{text-align:center;color:var(--muted);font-size:12px;}
.funding .tbl-check tbody td.col-check{font-size:12px;line-height:1.55;color:var(--text);}
.funding .tbl-check tbody td.col-comm{font-size:12px;line-height:1.55;color:var(--text);}
.funding .tbl-check tbody td.col-check strong,.funding .tbl-check tbody td.col-comm strong{color:var(--text);font-weight:700;}
.funding .tbl-check tbody td.cell-mid{text-align:center;}
.funding .info-box{border:1px solid var(--border);border-radius:10px;padding:12px 16px;background:var(--white);}
.funding .info-box .ib-label{font-size:11.5px;color:var(--muted);margin-bottom:2px;}
.funding .info-box .ib-value{font-size:14px;font-weight:600;color:var(--text);}

/* status pills */
.funding .tag-req,.funding .tag-yes,.funding .tag-no{display:inline-block;padding:4px 14px;border-radius:8px;font-size:12px;font-weight:600;}
.funding .tag-req{background:var(--light-grayish);color:var(--red);}
.funding .tag-yes{background:var(--green-100);color:#15803D;}
.funding .tag-no{background:var(--vanilla);color:var(--dark-amber);}

/* reviewer checkboxes */
.funding .tbl-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--navy);cursor:pointer;}

/* comment field */
.funding .tbl-check td .cmt-inp{background:#F8FAFF;border:1px solid #E4EBF5;border-radius:8px;padding:9px 12px;font-size:12px;color:var(--text);width:100%;transition:border-color .18s,box-shadow .18s;}
.funding .tbl-check td .cmt-inp::placeholder{color:#A9B6C6;}
.funding .tbl-check td .cmt-inp:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,.10);background:var(--white);}

/* ── quarter group header: title + collapse chevron on the right ── */
.funding .tbl-cash .q-head{display:flex;align-items:center;justify-content:center;gap:8px;}
.funding .tbl-cash .q-toggle{
  margin-left:auto;width:20px;height:20px;flex-shrink:0;
  background:rgba(255,255,255,.16);border:none;border-radius:4px;color:#fff;
  font-size:11px;line-height:1;cursor:pointer;transition:background .15s;
}
.funding .tbl-cash .q-toggle:hover{background:rgba(255,255,255,.3);}

/* collapsed quarters — hide units + unit cost, keep the total */
.funding .tbl-cash.qc-1 [data-q="1"].q-units,.funding .tbl-cash.qc-1 [data-q="1"].q-cost,
.funding .tbl-cash.qc-2 [data-q="2"].q-units,.funding .tbl-cash.qc-2 [data-q="2"].q-cost,
.funding .tbl-cash.qc-3 [data-q="3"].q-units,.funding .tbl-cash.qc-3 [data-q="3"].q-cost,
.funding .tbl-cash.qc-4 [data-q="4"].q-units,.funding .tbl-cash.qc-4 [data-q="4"].q-cost{display:none;}



/* collapsible section row */
.funding .tbl-check tr.sec-row td{background:#0B1F3D;padding:0;border:none;}
.funding .sec-bar{display:flex;align-items:center;gap:12px;padding:14px 20px;cursor:pointer;user-select:none;}
.funding .sec-bar .sec-title{font-size:14px;font-weight:700;color:var(--white);}
.funding .sec-bar .sec-count{background:rgba(255,255,255,.14);color:rgba(255,255,255,.85);font-size:11px;font-weight:600;padding:3px 10px;border-radius:6px;}
.funding .sec-bar .sec-toggle{margin-left:auto;width:30px;height:30px;border:none;border-radius:8px;background:var(--white);color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .25s;}
.funding .tbl-check tr.sec-row.collapsed .sec-toggle{transform:rotate(180deg);}




.funding .fy-pick{max-width:300px;}

/* ── CASH FLOW / BUDGET FORECAST TABLE ── */
.funding .tbl-cash{font-size:12px;border-collapse:separate;border-spacing:0;}
.funding .tbl-cash th,.funding .tbl-cash td{border:1px solid var(--border);border-left:none;border-top:none;}
.funding .tbl-cash thead th{
  background:var(--navy);color:var(--white);padding:10px 12px;white-space:normal;line-height:1.35;
  border-color:rgba(255,255,255,.18);font-size:14px;vertical-align:middle;
}
.funding .tbl-cash thead th.th-grp{font-weight:600;}
.funding .tbl-cash thead th.th-sub{font-weight:600;font-size:14px;}
.funding .tbl-Proposed thead th.th-sub{width: 200px; max-width: 200px;min-width: 200px;}
 .add-btn-table { display: inline-flex; align-items: center; gap: 4px; padding: 6px 16px; border: 1.5px solid var(--teal); border-radius: 8px; background: #fff; color: var(--teal); font-size: 12px; font-weight: 600; cursor: pointer; transition: all .2s; white-space: nowrap; }
  .add-btn-table:hover { background: var(--teal); color: #fff; }
.funding .tbl-cash.tbl-Proposed td.editable input{max-width: 100%;}
.funding .tbl-cash tbody tr:nth-child(even){background:transparent;}
.funding .tbl-cash tbody td{padding:12px;background:var(--white);font-size:12px;color:var(--text);white-space:nowrap;}
.funding .tbl-cash tbody td.cell-num{text-align:left;}

.funding .tbl-cash .q-head{display:flex;align-items:center;gap:8px;justify-content:center;}
.funding .tbl-cash .q-toggle{
  margin-left:auto;width:22px;height:22px;flex-shrink:0;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.45);border-radius:5px;
  color:#fff;font-size:12px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .15s;
}
.funding .tbl-cash .q-toggle:hover{background:rgba(255,255,255,.34);}
 
/* collapsed banner: just the short label + icon, centred */
.funding .tbl-cash .q-head.compact{justify-content:center;gap:8px;}
.funding .tbl-cash .q-head.compact .q-toggle{margin-left:0;}
 
/* collapsed quarter → hide Units + Unit Cost on BOTH sides */
.funding .tbl-cash.qc-1 [data-q="1"].q-units,.funding .tbl-cash.qc-1 [data-q="1"].q-cost,
.funding .tbl-cash.qc-2 [data-q="2"].q-units,.funding .tbl-cash.qc-2 [data-q="2"].q-cost,
.funding .tbl-cash.qc-3 [data-q="3"].q-units,.funding .tbl-cash.qc-3 [data-q="3"].q-cost,
.funding .tbl-cash.qc-4 [data-q="4"].q-units,.funding .tbl-cash.qc-4 [data-q="4"].q-cost{display:none;}
 
.funding .tbl-cash.qc-1 th[data-q="1"].q-total,
.funding .tbl-cash.qc-2 th[data-q="2"].q-total,
.funding .tbl-cash.qc-3 th[data-q="3"].q-total,
.funding .tbl-cash.qc-4 th[data-q="4"].q-total{min-width:130px;}
 
/* ── editable (contracted) cells ── */
/* .funding .tbl-cash td.editable{background:#EAF2FD;} */
.funding .tbl-cash td.editable input{
  width:100%;text-align:right;background:#fff;border:1px solid #9CC0E8;border-radius:5px;
  padding:5px 7px;font-size:12px;color:var(--text);
  -moz-appearance:textfield;appearance:textfield;max-width: 80px;
}
.funding .tbl-cash td.editable input.in-amt {
    width: 60px;
}
.funding .tbl-cash td.editable input::-webkit-outer-spin-button,
.funding .tbl-cash td.editable input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.funding .tbl-cash td.editable input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,.10);}
 
/* ── row types ── */
.funding .tbl-cash tr.prog-head td{background:#E8EDF5;font-weight:700;color:var(--navy);}
.funding .tbl-cash tr.sub-row td{background:#F1F5FB;font-weight:700;}
.funding .tbl-cash tr.grand-sub td{background:#DDE9F8;font-weight:700;}
.funding .tbl-cash tr.calc-row td{background:#FCFDFF;}
.funding .tbl-cash tr.total-row td{background:var(--navy);color:#fff;font-weight:700;border-color:rgba(255,255,255,.2);}
 
/* ── sticky: Sequence · Program · Activity ── */
.funding .tbl-cash .stick-1,.funding .tbl-cash .stick-2,.funding .tbl-cash .stick-3{position:sticky;z-index:2; overflow:hidden;  }
.funding .tbl-cash .stick-1{left:0;    width:110px;min-width:110px;max-width:110px;z-index:4;}
.funding .tbl-cash .stick-2{left:110px;width:170px;min-width:170px;max-width:170px;z-index:3;}
.funding .tbl-cash .stick-3{left:280px;width:170px;min-width:170px;max-width:170px;z-index:2;
  box-shadow:1px 0 0 var(--border);}
.funding .tbl-cash thead .stick-1,.funding .tbl-cash thead .stick-2,.funding .tbl-cash thead .stick-3{z-index:5;background:var(--navy);}
.funding .tbl-cash tbody .stick-1,.funding .tbl-cash tbody .stick-2,.funding .tbl-cash tbody .stick-3{white-space:normal;text-align:left;background:#fff;}
.funding .tbl-cash tbody tr.prog-head .stick-1,.funding .tbl-cash tbody tr.prog-head .stick-2,.funding .tbl-cash tbody tr.prog-head .stick-3{background:#E8EDF5;}
.funding .tbl-cash tbody tr.sub-row .stick-1,.funding .tbl-cash tbody tr.sub-row .stick-2,.funding .tbl-cash tbody tr.sub-row .stick-3{background:#F1F5FB;}
.funding .tbl-cash tbody tr.grand-sub .stick-1,.funding .tbl-cash tbody tr.grand-sub .stick-2,.funding .tbl-cash tbody tr.grand-sub .stick-3{background:#DDE9F8;}
.funding .tbl-cash tbody tr.calc-row .stick-1,.funding .tbl-cash tbody tr.calc-row .stick-2,.funding .tbl-cash tbody tr.calc-row .stick-3{background:#FCFDFF;}
.funding .tbl-cash tbody tr.total-row .stick-1,.funding .tbl-cash tbody tr.total-row .stick-2,.funding .tbl-cash tbody tr.total-row .stick-3{background:var(--navy);}

/* proposed vs contracted blocks */
.funding .tbl-cash .grp-contracted{background:#12325C;}
.funding .tbl-cash tbody td.contracted{background:#F2F7FD;}
.funding .tbl-cash tbody td.contracted input{
  background:var(--white);border:1.5px solid #9CC0E8;border-radius:6px;padding:7px 10px;
  font-size:12.5px;color:var(--text);width:74px;text-align:left;font-family:inherit;transition:border-color .18s,box-shadow .18s;
}
.funding .tbl-cash tbody td.contracted input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,102,153,.10);}



/* ── filter row: single year + Select2 quarters ── */
.funding .filter-row-2{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;}
.funding .fg.fy-one{flex:0 0 220px;max-width:220px;}
/* .funding .fg.qtr-pick{flex:1 1 380px;max-width:560px;} */

/* ── the control fills its .fg and never collapses ── */
.funding .fg .select2-container{width:100% !important;display:block;margin-top:0;}
.funding .fg.qtr-pick{flex:1 1 380px;max-width:800px;min-width:300px;}
 
/* ── closed box: fixed height, contents vertically centred ── */
.funding .select2-container--default .select2-selection--multiple{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:3px 16px;
  border:1.5px solid var(--border);
  border-radius:6px;
  background:#FAFCFF;
  cursor:pointer;
  overflow:hidden;
}
.funding .select2-container--default.select2-container--focus .select2-selection--multiple,
.funding .select2-container--default.select2-container--open  .select2-selection--multiple{
  border-color:var(--navy);
  background:#fff;
  box-shadow:0 0 0 3px rgba(0,102,153,.10);
}
 
/* ── kill the <ul> list defaults and lay the chips out with flex ── */
.funding .select2-container--default .select2-selection--multiple .select2-selection__rendered{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px;
  width:100%;
  margin:0 !important;
  padding:0 !important;
  line-height:normal;
  list-style:none;
}
.funding .select2-container--default .select2-selection--multiple .select2-selection__rendered li{
  margin:0 !important;
  padding:10px;
  line-height:normal;
}
.funding .select2-container--default .select2-selection--multiple .select2-selection__rendered li span{color: var(--white); font-size: 14px;}
 
/* ── the search / placeholder input: no stray margin, matched height ── */
.funding .select2-container--default .select2-search--inline{margin:0;}
.funding .select2-container--default .select2-search--inline .select2-search__field{
  margin:0 !important;
  height:26px;
  line-height:26px;
  padding:0 4px;
  font-family:inherit;
  font-size:13px;
  color:var(--text);
}
.funding .select2-container--default .select2-search--inline .select2-search__field::placeholder{
  color:#9DAAB9;
  font-size:13px;
}
 
/* ── chips ── */
.funding .select2-container--default .select2-selection--multiple .select2-selection__choice{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:26px;
  margin:0 !important;
  padding:0 10px 0 4px;
  background:var(--navy);
  border:none;
  border-radius:5px;
  color:#fff;
  font-family:inherit;
  font-size:12.5px;
  line-height:1;
  white-space:nowrap;
}
.funding .select2-container--default .select2-selection--multiple .select2-selection__choice__display{
  padding:0;
  line-height:1;
}
 
/* ── close button: square, centred, no baseline shift ── */
.funding .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
  order:-1;                      /* ✕ on the left, like your reference */
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin:0 !important;
  padding:0;
  border:none;
  border-radius:4px;
  background:rgba(255,255,255,.22);
  color:#fff;
  font-size:14px;
  line-height:1;
  cursor:pointer;
}
.funding .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.funding .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus{
  background:rgba(255,255,255,.42);
  color:#fff;
  outline:none;
}
 
/* ── dropdown ── */
.select2-container--default .select2-dropdown{
  border:1.5px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,51,102,.14);
}
.select2-container--default .select2-results__option{font-size:13px;padding:9px 12px;}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--light);color:var(--navy);}
.select2-container--default .select2-results__option[aria-selected=true]{background:var(--navy);color:#fff;}
/* ── STICKY: Sequence Number + Program + Activity ──
   each left offset = sum of the widths before it (0 / 80 / 250)      */
.funding .tbl-cash .stick-1,
.funding .tbl-cash .stick-2,
.funding .tbl-cash .stick-3{position:sticky;z-index:2;}
/* .funding .tbl-cash .stick-1{left:0;width:80px;min-width:80px;}
.funding .tbl-cash .stick-2{left:80px;width:170px;min-width:170px;}
.funding .tbl-cash .stick-3{left:250px;width:180px;min-width:180px;box-shadow:1px 0 0 var(--border);} */

.funding .tbl-cash thead .stick-1,
.funding .tbl-cash thead .stick-2,
.funding .tbl-cash thead .stick-3{
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:auto;
  font-size:14px;
  line-height:1.25;
  padding:9px 10px;
  text-align:left;
  vertical-align:middle;
}
.funding .tbl-cash tbody .stick-1,
.funding .tbl-cash tbody .stick-2,
.funding .tbl-cash tbody .stick-3{
  white-space:normal;
  overflow-wrap:break-word;
  text-align:left;
  background:#fff;
}
.funding .tbl-cash tbody .stick-1{text-align:center;}
/* .funding .tbl-cash thead .stick-1,
.funding .tbl-cash thead .stick-2,
.funding .tbl-cash thead .stick-3{z-index:4;background:var(--navy);} */
/* 
.funding .tbl-cash tbody .stick-1,
.funding .tbl-cash tbody .stick-2,
.funding .tbl-cash tbody .stick-3{background:var(--white);white-space:normal;font-weight:600;} */
.funding .tbl-cash tbody .stick-1{text-align:center;font-weight:700;}



/* ── CONTRACT SUMMARY BUDGET TABLE (read-only) ── */
.funding .tbl-summary{table-layout:fixed;min-width:1320px;font-size:12px;}
.funding .tbl-summary col.c-prog{width:16%;}
.funding .tbl-summary col.c-act{width:16%;}
.funding .tbl-summary col.c-val{width:11.2%;}
/* Give the sticky columns fixed widths so we can calculate offsets */
.funding .tbl-summary .c-prog { width: 220px; }
.funding .tbl-summary .c-act  { width: 240px; }

/* PROGRAM column — sticky at left: 0 */
.funding .tbl-summary th.col-prog,
.funding .tbl-summary td.col-prog {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;         /* match row background so scrolling cells don't show through */
}

/* ACTIVITY column — sticky right after PROGRAM (offset = width of col-prog) */
.funding .tbl-summary th.col-act,
.funding .tbl-summary td.col-act {
  position: sticky;
  left: 210px;               /* must match .c-prog width above */
  z-index: 2;
  background: #fff;
}

/* Header cells need a higher z-index so they stay above sticky body cells while scrolling */
.funding .tbl-summary thead th.col-prog,
.funding .tbl-summary thead th.col-act {
  z-index: 3;
  background: #1e3a5f;       /* match your header navy background */
  color: #fff;
}



/* Optional: divider shadow to visually separate sticky columns from scrolling content */
.funding .tbl-summary td.col-act,
.funding .tbl-summary th.col-act {
  box-shadow: 2px 0 4px -2px rgba(0,0,0,0.15);
}

/* headings must wrap — custom.css sets white-space:nowrap on .tbl thead th,
   which made "Approved Beneficiaries / Approved Cost Per Unit / …" run together */
.funding .tbl-summary thead th{
  font-size:14px;font-weight:700;padding:14px 16px;
  white-space:normal;line-height:1.35;vertical-align:middle;
}

.funding .tbl-summary tbody tr:nth-child(even){background:transparent;}
.funding .tbl-summary tbody td{
  padding:13px 16px;font-size:12px;color:var(--text);
  border-left:none;border-right:1px solid #d3d3d3;white-space:nowrap;
}

/* Program column — name repeated on every row */
.funding .tbl-summary tbody td.col-prog{
  white-space:normal;line-height:1.5;vertical-align:top;
  background:#F8FAFF;border-left:1px solid var(--border);border-right:1px solid var(--border);
}
.funding .tbl-summary tbody td.col-prog strong{display:block;font-weight:700;letter-spacing:.2px;margin-bottom:2px;}
.funding .tbl-summary tbody td.col-prog .item-sub{display:block;font-size:12px;font-weight:600;color:var(--text);}

/* repeated rows sit back so the programme total row still reads as the group head */
.funding .tbl-summary tbody td.col-prog.repeat strong{font-weight:600;color:var(--muted);}
.funding .tbl-summary tbody td.col-prog.repeat .item-sub{font-weight:500;color:var(--muted);}

/* Activity column */
.funding .tbl-summary tbody td.col-act{white-space:normal;line-height:1.5;}
.funding .tbl-summary tbody td.col-act .act-total{font-weight:700;color:var(--navy);}

/* programme summary row (the row carrying the programme totals) */
.funding .tbl-summary tbody tr.prog-row td{font-weight:600;}


/* ── REPORTING SCHEDULE TABLE ── */
.funding .tbl-report{table-layout:fixed;min-width:1320px;font-size:13px;}
.funding .tbl-report col.c-no{width:7%;}
.funding .tbl-report col.c-type{width:17%;}
.funding .tbl-report col.c-end{width:15%;}
.funding .tbl-report col.c-due{width:15%;}
.funding .tbl-report col.c-act{width:15%;}
.funding .tbl-report thead th{
  text-align:center;font-size:12.5px;font-weight:700;padding:12px 14px;white-space:normal;line-height:1.35;
  border:1px solid rgba(255,255,255,.18);
}
.funding .tbl-report thead th .th-sub{display:block;font-size:11px;font-weight:500;opacity:.8;margin-top:3px;}
.funding .tbl-report tbody tr:nth-child(even){background:transparent;}
.funding .tbl-report tbody td{padding:11px 14px;font-size:13px;color:var(--text);text-align:center;}
.funding .tbl-report tbody td.col-no{font-weight:700;}
.funding .tbl-report tbody td.col-type{text-align:left;}
.funding .tbl-report tbody td.col-actual{background:var(--white);}



/* ── UNDERTAKING DOCUMENT ── */
.funding .doc-box{border:1px solid var(--border);border-radius:8px;padding:34px 40px;background:var(--white);}
.funding .doc-box p{font-size:14px;line-height:1.75;color:var(--text);text-align:justify;margin-bottom:16px;}
.funding .doc-box p strong{font-weight:700;}
.funding .doc-close{margin-top:26px;}

/* signature block */
.funding .sig-block{margin-top:44px;display:flex;flex-direction:column;gap:20px;max-width:640px;}
.funding .sig-line{display:flex;align-items:flex-end;gap:14px;}
.funding .sig-line .sig-label{
  font-family:Georgia,"Times New Roman",serif;font-size:16px;font-weight:700;color:var(--text);
  min-width:170px;flex-shrink:0;
}
.funding .sig-line .sig-inp{
  flex:1;max-width:300px;border:none;border-bottom:1px solid #4A4A4A;background:transparent;
  padding:2px 4px 4px;font-size:13.5px;font-family:inherit;color:var(--text);outline:none;transition:border-color .18s;
}
.funding .sig-line .sig-inp:focus{border-bottom-color:var(--teal);box-shadow:0 1px 0 0 var(--teal);}
.funding .sig-line .sig-inp.short{max-width:200px;}

/* ── PREVIEW DOCUMENTS ── */
.funding .prev-panel{background:#F0F6FF;border:1px solid var(--border);border-radius:10px;padding:20px 22px;}
.funding .prev-panel h4{font-size:14px;font-weight:700;color:var(--text);}
.funding .prev-panel .prev-sub{font-size:12.5px;color:var(--muted);margin-bottom:16px;}
.funding .doc-item{
  display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--border);
  border-radius:8px;padding:12px 16px;margin-bottom:10px;
}
.funding .doc-item:last-child{margin-bottom:0;}
.funding .doc-item .doc-ico{font-size:20px;flex-shrink:0;}
.funding .doc-item .doc-meta{flex:1;}
.funding .doc-item .doc-name{font-size:13.5px;font-weight:700;color:var(--text);}
.funding .doc-item .doc-state{font-size:12px;color:var(--muted);}
.funding .doc-item .doc-open{
  background:var(--white);border:1px solid var(--border);border-radius:6px;color:var(--navy);
  font-family:inherit;font-size:12px;font-weight:600;padding:6px 14px;cursor:pointer;transition:background .18s;
}
.funding .doc-item .doc-open:hover{background:var(--light);}
.funding .doc-item .doc-open:disabled{opacity:.45;cursor:not-allowed;}
.funding .sig-form{
  margin-top:34px;border:1px solid var(--border);border-radius:10px;
  background:#ffffff;padding:22px 24px 8px;
}
.funding .sig-form .sig-form-hdr{
  font-size:14px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;
  padding-bottom:9px;margin-bottom:18px;border-bottom:2px solid var(--light);
}
.funding .sig-form .fg input{width:100%;}
.funding .sig-form .fg .hint{font-size:11px;color:var(--muted);}
 
/* inline validation */
.funding .sig-form .fg .err-msg{display:none;font-size:11px;color:var(--red);font-weight:600;}
.funding .sig-form .fg.invalid input{border-color:var(--red);background:#FFF7F7;}
.funding .sig-form .fg.invalid .err-msg{display:block;}
.funding .sig-form .fg.invalid .hint{display:none;}
 
/* signature field reads like a signature */
.funding .sig-form .fg input.sig-sign{
  font-size:163x;letter-spacing:.3px;
}

/* ── Next disabled until confirmation ── */
.funding .btn-n:disabled{opacity:.45;cursor:not-allowed;}
.funding .btn-n:disabled:hover{opacity:.45;}
.funding .nav-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}


        @media (max-width: 900px) {
            .page { padding: 20px 16px 40px; }
            .contract_main_table .table-card .tbl-head, .contract_main_table .table-card .filter-row, .contract_main_table .table-card #tBody .data-row { grid-template-columns: 1fr 1fr; }
            .contract_main_table .table-card #tBody .detail-panel .detail-inner { grid-template-columns: 1fr; }
        .funding .tbl-cash .stick-1{width:100px;min-width:100px;max-width:100px;}
  .funding .tbl-cash .stick-2{left:100px;width:180px;min-width:180px;max-width:180px;}
  .funding .tbl-cash .stick-3{left:280px;width:180px;min-width:180px;max-width:180px;}
  .side-complete-progress-register{display: none;}
        }
        @media(max-width:768px){
            .funding .hero{
             flex-direction: column;
             gap: 10px;
            }
            .funding .hero h1,.funding .hero-meta,.funding .annexure-outer{width: 100%;}
            .funding .hero p{width: 100%; max-width: 100%;}
            .Progress_header{
                display: block;
            }
            .funding .prog-wrap{
                width: auto;
                position: relative;
                height: auto;
                top: 0;
                box-shadow: none;
            }
            .funding .prog-inner{
                flex-direction: row;
                position: fixed;
                bottom: 0;
                background: #fff;
                padding: 0;
                box-shadow: 0px -6px 10px rgba(0, 0, 0, .05);
                width: 100%;
                overflow: auto;
                gap: 0;
            }
            .funding .snode:nth-child(even) {
                background: #f5f5f5;
            }
            .funding .snode{
                    gap: 0;
            position: relative;
            min-width: 110px;
            padding: 10px;
            height: 70px;
            }
            .funding .scircle{
            width: 20px;
            height: 20px;
            }
            .funding .card-hdr.hdr-row{align-items:flex-start;}
  .funding .nav-row,.funding .nav-right{flex-direction:column;align-items:stretch;gap:10px; margin: 0;}
  .funding .btn-n{width:100%; text-align: center;}
  .funding .tbl-kv,.funding .tbl-kv tbody,.funding .tbl-kv tr,.funding .tbl-kv td{display:block;width:100%;}
  .funding .tbl-kv tbody tr{margin-bottom:10px;}
  .funding .tbl-annex,.funding .tbl-annex tbody,.funding .tbl-annex tr,.funding .tbl-annex td{display:block;width:100%;}
  .funding .tbl-annex thead{display:none;}
  .funding .tbl-annex tbody tr{border:1px solid var(--border);border-radius:8px;margin-bottom:12px;overflow:hidden;}
  .funding .tbl-annex tbody td{border:none;}
  /* .funding .tbl-annex tbody td.desc{background:var(--light);} */

   .funding .hprog-wrap{width: auto;
    position: relative;
    height: auto;
    top: 0;
    box-shadow: none;}
    .funding .hprog-scroll{
        width: auto;
    position: relative;
    height: auto;
    top: 0;
    box-shadow: none;
    }
    .funding .hprog-inner{
        flex-direction: row;
    position: fixed;
    bottom: 0;
    background: #fff;
    padding: 0;
    box-shadow: 0px -6px 10px rgba(0, 0, 0, .05);
    width: 100%;
    overflow: auto;
    gap: 0;
    min-width: 100%;
    justify-content: left;
    }
    .funding .hstep{
        gap: 0;
    position: relative;
    min-width: 110px;
    padding: 10px;
    height: 70px;
    border-right: 2px solid #dddddda3;
    border-bottom: 2px solid #dddddda3;
    width: auto;
    }
    .funding .hstep .hcircle{
    width: 18px;
    height: 18px;
    }
    .funding .hstep.active .hcircle::after{
        width: 8px;
    height: 8px;
    }
    .Overall-progress-side {
        /* max-width: 100%; */
        /* height: calc(100vh - 960px); */
    }

    /* .Overall-progress-side .snapshot-name {
        font-size: 14px;
    }

    .Overall-progress-side .snapshot-status {
        flex-basis: 75px;
        font-size: 13px;
    } */
  }


@media (max-width: 480px) {

    .Overall-progress-side .overall-progress-card,
    .Overall-progress-side .section-snapshot-card,
    .Overall-progress-side .why-we-ask-card {
        border-radius: 13px;
    }

    .Overall-progress-side .snapshot-item {
        gap: 8px;
    }

    .Overall-progress-side .snapshot-status {
        flex-basis: 72px;
    }
}