*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;
}

body{

background:#eef4fb;



background-repeat:no-repeat;

background-position:center;

background-size:cover;

min-height:100vh;

display:flex;

flex-direction:column;

}

/* Header */

.header{

height:125px;

background:white;

display:flex;

align-items:center;

justify-content:space-between;

padding:10px 40px;

box-shadow:0 2px 8px rgba(0,0,0,.15);

border-bottom:4px solid #0a4d9e;


position: sticky;
    top: 0;
    z-index: 9999;
}

.header-left img{

height:75px;

}

.header-right img{

height:80px;

}

.header-center{

text-align:center;

}

.header-center h2{

color:#123f7a;

font-weight:bold;

margin-bottom:5px;

}

.header-center h4{

color:#204b82;

margin-bottom:10px;

}

.header-center span{

background:#d9e9ff;

padding:8px 20px;

border-radius:20px;

font-weight:600;

}

/* Body */

.main{

flex:1;

display:flex;

justify-content:center;

align-items:center;

}

/* Login Card */

.login-box{

 width:420px;
    padding:20px 25px;
    border-radius:10px;

background:white;



box-shadow:0 10px 30px rgba(0,0,0,.15);

}

.login-icon{

height:30px;

width:80px;

margin:auto;

border-radius:50%;

background:#eaf3ff;

display:flex;

align-items:center;

justify-content:center;

font-size:25px;

color:#0b4ea2;

margin-bottom:5px;

}

.login-box h2{

text-align:center;

color:#163f7d;

margin-bottom:30px;

font-weight:bold;

}

.form-group{

margin-bottom:10px;

}

.form-group label{

font-weight:600;

margin-bottom:4px;

display:block;

}

.input-group-text{

background:white;

}

.form-control{

height:48px;

}

.remember{

margin:15px 0;

font-size:17px;

}

.btn{

width:100%;

height:48px;

font-size:18px;

font-weight:bold;

margin-top:10px;

}

.btn-login{

background:#0a4d9e;

color:white;

}

.btn-login:hover{

background:#083d7d;

color:white;

}

.btn-register{

background:white;

border:2px solid #0a4d9e;

color:#0a4d9e;

}

.btn-register:hover{

background:#0a4d9e;

color:white;

}

.forgot{

margin-top:20px;

text-align:center;

font-size:18px;

}

.forgot a{

text-decoration:none;

}

footer{

background:#083d7d;

color:white;

text-align:center;

padding:15px;

font-size:15px;

}

.instructions {
    margin-left: 50px;
    margin-right: 50px;
    font-size: 14px;
    line-height: 1.8;
    text-align: justify;
}

.instructions p {
    margin-bottom: 10px;
}

.paragraph {
    margin: 15px 50px;
    font-size: 13px;
    font-family: Arial, Helvetica, sans-serif;
    color: #5f6368;
    line-height: 1.5;      /* Reduced from 1.8 */
    text-align: justify;
}

.paragraph p {
    margin-bottom: 8px;    /* Reduced from 15px */
}

.paragraph .bold {
    font-weight: bold;
    color: #4a4a4a;
    font-size: 13px;
    margin-bottom: 8px;
}

.paragraph .title {
    font-size: 22px;
    font-weight: bold;
    color: #1f1f1f;
    margin-top: 12px;      /* Reduced from 20px */
    margin-bottom: 0;
}
.registrationform {
    width: calc(100% - 100px); /* 50px left + 50px right */
    margin: 20px 50px;
    background: white;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
    box-sizing: border-box;
}
.registrationform h5{
   text-align: center;
    margin: 0;
    width: 100%;
    font-size: 20px;
    font-weight: bold;
}
.heading-line {
    border: none;
    border-top: 1px solid #dcdcdc;  /* Thin light gray line */
    margin: 0 0 20px 0;
}
.form-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px 35px;
}

.form-grid1{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px 35px;
}

.form-group{
    display:flex;
    flex-direction:column;
}

.form-group1{
    display:flex;
    flex-direction:column;
}
.form-group label{
    font-size:16px;
    font-weight:500;
    color:#555;
    margin-bottom:8px;
}

.form-group label span{
    color:red;
}

.form-control{
    height:44px;
    border:1px solid #d9d9d9;
    border-radius:0;
    padding:8px 12px;
    font-size:15px;
    box-shadow:none;
}

.form-control:focus{
    border-color:#0a4d9e;
    box-shadow:none;
}

.required{
    color:red;
}

.full-width{
    grid-column:1 / 4;
}

.two-column{
    grid-column:1 / 3;
}

.radio-group{
    margin-top:8px;
}

.radio-group label{
    margin-right:30px;
    font-size:18px;
    font-weight:400;
}

.radio-group input{
    margin-right:8px;
}

.fee-text{
    font-size:18px;
    color:#555;
    margin-top:10px;
}

.text-end{
    text-align:right;
}

.submit-btn{
    background:#44c767;
    color:#fff;
    border:none;
    padding:12px 35px;
    font-size:18px;
    border-radius:3px;
    cursor:pointer;
}

.submit-btn:hover{
    background:#36b35a;
}

.registration-box{

width:1350px;

background:white;

padding:40px;

border-radius:15px;

box-shadow:0 10px 30px rgba(0,0,0,.15);

display:flex;
    flex-direction:column;

}

.document-section{

    background:#fff;

    padding:20px;

    border:1px solid #ddd;

    border-radius:10px;

    margin-top:20px;

}

.doc-card{

    border:1px solid #d9d9d9;

    border-radius:8px;

    text-align:center;

    padding:15px;

    min-height:180px;

    background:#fff;

    transition:.3s;

}

.doc-card:hover{

    box-shadow:0 3px 10px rgba(0,0,0,.2);

}

.doc-card i{

    color:#0d6efd;

    margin-bottom:15px;

}

.doc-card p{

    font-size:14px;

    font-weight:600;

    min-height:45px;

}

.upload-btn{

    width:100%;

    border-radius:20px;

}

.document-section{

    background:#fff;
    border:1px solid #d9e2d9;
    border-radius:10px;
    padding:15px;
    margin-top:20px;

}

.company-title{

    color:#23653b;
    font-size:20px;
    font-weight:700;
    margin-bottom:8px;

}

.doc-required{

    font-weight:600;
    margin-bottom:15px;

}

.doc-card{

    border:1px solid #d9d9d9;
    border-radius:8px;
    text-align:center;
    background:#fff;
    padding:15px 10px;
    height:200px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:.3s;

}

.doc-card:hover{

    box-shadow:0 4px 10px rgba(0,0,0,.15);

}

.doc-card.company i{

    color:#2c7a4b;

}

.doc-name{

    font-size:13px;
    font-weight:600;
    min-height:70px;
    color:#333;

}

.company-btn{

    width:100%;
    border:1px solid #2c7a4b;
    color:#2c7a4b;
    background:#fff;
    border-radius:20px;
    padding:6px;

}

.company-btn:hover{

    background:#2c7a4b;
    color:#fff;

}

.projectTab.active{
    background:#0d6efd !important;
    color:#fff !important;
}

/* User Type */
.btn-group .btn{
    padding:12px 20px;
    font-weight:600;
    font-size:15px;
    border-radius:8px !important;
    transition:0.3s;
}

.btn-group .btn i{
    margin-right:6px;
}

.btn-check:checked + .btn{
    color:#fff;
    box-shadow:0 4px 10px rgba(0,0,0,.25);
    transform:translateY(-2px);
}

.btn-outline-primary.btn-check:checked + .btn,
.btn-check:checked + .btn.btn-outline-primary{
    background:#0d6efd;
}

.btn-outline-success.btn-check:checked + .btn,
.btn-check:checked + .btn.btn-outline-success{
    background:#198754;
}

.btn-outline-warning.btn-check:checked + .btn,
.btn-check:checked + .btn.btn-outline-warning{
    background:#f59e0b;
    color:#fff;
}


.login-type{
    display:flex;
    width:100%;
    margin-bottom:20px;
    border-radius:30px;
    overflow:hidden;
    border:2px solid #0d6efd;
}

.login-type input[type="radio"]{
    display:none;
}

.login-type label{
    flex:1;
    text-align:center;
    padding:12px;
    cursor:pointer;
    background:#ffffff;
    color:#0d6efd;
    font-weight:600;
    transition:0.3s;
    margin:0;
}

.login-type input[type="radio"]:checked + label{
    background:#0d6efd;
    color:#ffffff;
}

.login-type label:hover{
    background:#e9f2ff;
}