:root{
    --primary:#2563eb;
    --primary-hover:#1d4ed8;
    --body:#0035b1;
    --border:#e5e7eb;
    --text:#1e293b;
    --text-white:white;
    --text-muted:#64748b;
    --shadow:0 20px 60px rgba(15,23,42,.08);
    --radius:18px;
    --transition:.25s ease;
}

body{
    font-family:Inter,sans-serif;
    background:var(--body);
    color:var(--text);
}

.color-white{
    color:var(--text-white)!important;
}

.auth-left{
    background:linear-gradient(135deg,#2563eb,#1d4ed8);
    color:#fff;
    padding:80px;
    align-items:center;
}

.auth-left-content{

    max-width:520px;

}

.auth-left h1{

    font-size:3rem;

    font-weight:700;

    margin:30px 0 20px;

}

.auth-left p{

    opacity:.9;

    font-size:1.1rem;

    line-height:1.8;

}

.auth-features{

    list-style:none;

    padding:0;

    margin-top:50px;

}

.auth-features li{

    margin-bottom:18px;

    font-size:1.05rem;

}

.auth-features i{

    margin-right:12px;

}

.auth-card{

    width:100%;

    max-width:760px;

    background:#fff;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    padding:45px;

}

.brand-logo{

    width:70px;

    height:70px;

    border-radius:20px;

    background:var(--primary);

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:26px;

    font-weight:700;

}

.form-section{

    border-bottom:1px solid var(--border);

    margin-bottom:25px;

    padding-bottom:12px;

}

.form-section h6{

    margin:0;

    font-weight:600;

}

.form-label{

    font-weight:600;

    margin-bottom:8px;

}

.form-control{

    height:48px;

    border-radius:12px;

    border:1px solid var(--border);

}

.form-control:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .2rem rgba(37,99,235,.08);

}

.btn-primary{

    border-radius:12px;

    padding:14px;

    background:var(--primary);

    border:none;

}

.btn-primary:hover{

    background:var(--primary-hover);

}

.auth-footer{

    margin-top:30px;

    text-align:center;

}

.auth-footer a{

    text-decoration:none;

    font-weight:600;

}

@media(max-width:991px){

    .auth-card{

        margin:30px 15px;

        padding:30px;

    }

}

.info-card{

    background:#fff;

    border-radius:18px;

    padding:25px;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

    height:100%;

}

.info-card h6{

    color:#6b7280;

    font-size:14px;

    margin-bottom:15px;

}

.info-card p{

    font-size:18px;

    font-weight:600;

    margin:0;

}

.navbar-brand{

    font-size:28px;

}

/* calculator  */

.calculator {
    background: #fff;
    width: 100%;
    max-width: 550px;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.group {
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fafafa;
}

.form-group {
    margin-bottom: 15px;
}

label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: #555;
}

input[type="number"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
}

button {
    width: 100%;
    padding: 14px;
    background: #4a90e2;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
}

button:hover {
    background: #357abd;
}

.child-field {
    margin-top: 10px;
    padding-left: 15px;
    border-left: 3px solid #4a90e2;
}

.preview {
    margin-top: 10px;
    padding: 10px;
    background: #eef5ff;
    border-radius: 6px;
    font-size: 14px;
}

.result {
    margin-top: 25px;
    padding: 20px;
    background: #eef7ee;
    border-radius: 8px;
    text-align: center;
}

.result h2 {
    color: #2e7d32;
    margin-bottom: 10px;
}