*{
box-sizing:border-box;
}

body{
margin:0;
font-family:'Segoe UI',sans-serif;
background:#111;
color:#fff;
}

/* APP LAYOUT */

.app{
max-width:1200px;
margin:auto;
padding:20px;
}

/* HEADER */

.header{
text-align:center;
margin-bottom:30px;
}

.header h1{
color:#FFD700;
}

/* MAIN CARD */

.card{
background:#000;
border:2px solid #FFD700;
border-radius:12px;
padding:25px;
}

/* MODULE BUTTONS */

.module-selector{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-bottom:25px;
}

.module-selector button{
flex:1;
padding:10px;
background:#222;
border:1px solid #FFD700;
color:#FFD700;
cursor:pointer;
border-radius:6px;
}

.module-selector button.active{
background:#FFD700;
color:#000;
font-weight:bold;
}

/* GRID SYSTEM */

.grid-2{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

/* Special grid for Age / EMI / CC */

.grid-3-inline{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:10px;
}

/* FORM */

.form-group{
margin-bottom:6px;
}

label{
display:block;
margin-bottom:4px;
font-size:14px;
color:#ccc;
}

input,select{
width:100%;
padding:10px;
border-radius:6px;
border:1px solid yellow;
background:#1c1c1c;
color:#fff;
}

input:focus,select:focus{
outline:2px solid #FFD700;
}

/* BUTTONS */

.btn{
width:100%;
padding:12px;
background:#FFD700;
border:none;
font-weight:bold;
cursor:pointer;
border-radius:6px;
margin-top:10px;
}

.btn-clear{
margin-top:10px;
width:100%;
padding:12px;
background:#333;
border:1px solid #FFD700;
color:#FFD700;
cursor:pointer;
border-radius:6px;
}

/* ---------------- RESULT CARD ---------------- */

.result-card{
margin-top:30px;
padding:22px;
background:#1a1a1a;
border-left:5px solid #FFD700;
border-radius:10px;
box-shadow:0 0 12px rgba(255,215,0,0.15);
}

/* RESULT HEADER */

.result-highlight{
background:#FFD700;
color:#000;
padding:4px 10px;
border-radius:6px;
font-weight:bold;
display:inline-block;
margin-bottom:15px;
}

/* RESULT ROW SYSTEM */

.result-row{
display:flex;
justify-content:space-between;
align-items:center;
margin:8px 0;
}

.result-label{
color:#bbb;
font-size:14px;
}

.result-value{
font-weight:bold;
font-size:16px;
}

/* SECTION DIVIDER */

.result-section{
margin-top:15px;
padding-top:15px;
border-top:1px solid rgba(255,255,255,0.15);
}

/* BIG VALUE (EMI) */

.result-big{
background:#FFD700;
color:#000;
padding:4px 12px;
border-radius:6px;
font-weight:bold;
font-size:18px;
box-shadow:0 0 10px rgba(255,215,0,0.35);
}

/* APPROVAL STATUS */

.result-approved{
color:#00ff99;
font-weight:bold;
font-size:18px;
margin-top:15px;
}

.result-rejected{
color:#ff4d4d;
font-weight:bold;
font-size:18px;
margin-top:15px;
}

/* RISK INDICATORS */

.good{
color:#00cc66;
font-weight:bold;
}

.bad{
color:#ff4d4d;
font-weight:bold;
}

.note{
color:#ccc;
font-size:13px;
}

/* ---------------- FOOTER ---------------- */

.site-footer{
margin-top:50px;
padding:18px 20px;
background:#000;
border-top:2px solid #FFD700;
}

.footer-content{
display:flex;
justify-content:space-between;
align-items:center;
max-width:1200px;
margin:auto;
color:#ccc;
font-size:14px;
}

.footer-name{
color:#FFD700;
font-weight:bold;
}

.footer-left{
color:#FFD700;
font-weight:600;
}

/* ---------------- RESPONSIVE ---------------- */

@media(max-width:768px){

.footer-content{
flex-direction:column;
gap:8px;
text-align:center;
}

/* Keep PV + Required side-by-side */

.grid-2{
grid-template-columns:1fr 1fr;
gap:10px;
}

/* Keep Age EMI CC in one row */

.grid-3-inline{
grid-template-columns:1fr 1fr 1fr;
gap:8px;
}

.card{
padding:15px;
}

/* Result layout mobile */

.result-row{
flex-direction:column;
align-items:flex-start;
gap:3px;
}

.result-big{
font-size:16px;
}

}