@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;
}

* { 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;}

.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;}

/* 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:40px 60px;}
.funding .hero h1{font-size:28px;font-weight:700;color: var(--white);}
.funding .hero p{font-size:14px;opacity:0.85;margin-top:6px;color: var(--white);}
.funding .hero-meta{display:flex;gap:28px;margin-top:18px;}
.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:68px;z-index:200;box-shadow:0 2px 8px rgba(0,0,0,0.06);}
.funding .prog-inner{max-width:1220px;margin:0 auto;padding:18px 24px;display:flex;align-items:flex-start;gap:0;}
.funding .snode{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;}
.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 .snode.active .scircle{background:var(--navy);}
.funding .snode.done .scircle{background:var(--green);}
.funding .slabel{font-size:10px;color:var(--muted);font-weight:500;text-align:center;max-width:72px;}
.funding .snode.active .slabel{color:var(--navy);font-weight:700;}
.funding .snode.done .slabel{color:var(--green);}
.funding .form-outer{max-width:1200px;margin:32px auto 0px;padding:0 16px;}
.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:17px;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:11px;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;font-family:inherit;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:12px;font-weight:700;color:var(--navy);border-bottom:2px solid var(--light);padding-bottom:7px;margin:24px 0 16px;text-transform:uppercase;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:11px;font-weight:600;white-space:nowrap;}
.funding .tbl tbody td{padding:5px 8px;border:1px solid var(--border);vertical-align:middle;}
.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;}
.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;}
.funding .nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-bottom: 25px;}
.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:11px;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);}

/* 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);
}

/* ── 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;
}