
:root{
    --ipi-maroon:#742b21;
    --ipi-maroon-dark:#541b15;
    --ipi-brown:#9a4b35;
    --ipi-rust:#b76542;
    --ipi-cream:#f7ead7;
    --ipi-bg:#fbf7f4;
    --ipi-border:#eadcd4;
    --ipi-text:#3f302b;
    --ipi-muted:#7b6c66;
}
body.auth-page{
    background:
        radial-gradient(circle at 10% 15%,rgba(183,101,66,.10),transparent 28%),
        radial-gradient(circle at 90% 85%,rgba(116,43,33,.08),transparent 28%),
        var(--ipi-bg);
    color:var(--ipi-text);
}
.auth-shell{padding:52px 0 72px}
.auth-card{
    border:1px solid var(--ipi-border);
    border-radius:24px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 22px 55px rgba(84,27,21,.10);
}
.auth-side{
    min-height:100%;
    padding:42px 38px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 15%,rgba(247,234,215,.18),transparent 30%),
        linear-gradient(145deg,var(--ipi-maroon-dark),var(--ipi-maroon),var(--ipi-brown));
}
.auth-logo{width:78px;height:78px;object-fit:contain}
.auth-side h2{font-weight:800;letter-spacing:-.5px}
.auth-side p{color:#f0ddd3;line-height:1.7}
.auth-benefit{
    display:flex;gap:12px;align-items:flex-start;
    padding:11px 0;color:#f5e9e2;
}
.auth-benefit i{font-size:18px;margin-top:2px}
.auth-form{padding:40px}
.auth-form .form-label{font-weight:700;font-size:13px;color:#51413b}
.auth-form .form-control,.auth-form .form-select{
    min-height:46px;border-radius:12px;border-color:#dfd0c8;
}
.auth-form .form-control:focus,.auth-form .form-select:focus{
    border-color:#9a4b35;
    box-shadow:0 0 0 .2rem rgba(154,75,53,.12);
}
.auth-form textarea.form-control{min-height:auto}
.auth-title{font-weight:800;letter-spacing:-.4px}
.auth-subtitle{color:var(--ipi-muted)}
.auth-kicker{
    color:var(--ipi-maroon);font-size:11px;font-weight:800;
    text-transform:uppercase;letter-spacing:1.1px;
}
.auth-section-title{
    display:flex;align-items:center;gap:10px;
    font-weight:800;font-size:17px;margin:28px 0 16px;
}
.auth-section-title span{
    width:34px;height:34px;border-radius:10px;
    background:var(--ipi-cream);color:var(--ipi-maroon);
    display:grid;place-items:center;
}
.btn-ipi{
    background:var(--ipi-maroon);border-color:var(--ipi-maroon);color:#fff;
    border-radius:12px;font-weight:700;padding:.72rem 1rem;
}
.btn-ipi:hover,.btn-ipi:focus{background:var(--ipi-maroon-dark);border-color:var(--ipi-maroon-dark);color:#fff}
.btn-outline-ipi{
    border-color:var(--ipi-maroon);color:var(--ipi-maroon);
    border-radius:12px;font-weight:700;
}
.btn-outline-ipi:hover{background:var(--ipi-maroon);border-color:var(--ipi-maroon);color:#fff}
.auth-link{color:var(--ipi-maroon);font-weight:700;text-decoration:none}
.auth-link:hover{text-decoration:underline;color:var(--ipi-maroon-dark)}
.auth-note{
    padding:14px 16px;border-radius:14px;background:#fbf3ed;border:1px solid #edd9cd;
    color:#6c574e;font-size:13px;
}
.required::after{content:" *";color:#b42318}
.password-wrap{position:relative}
.password-toggle{
    position:absolute;right:10px;top:50%;transform:translateY(-50%);
    border:0;background:transparent;color:#786963;padding:6px 8px
}
.password-wrap .form-control{padding-right:45px}
@media(max-width:991.98px){
    .auth-side{padding:30px;min-height:auto}
    .auth-form{padding:30px}
}
@media(max-width:575.98px){
    .auth-shell{padding:28px 0 48px}
    .auth-card{border-radius:18px}
    .auth-form{padding:24px 20px}
    .auth-side{padding:26px 22px}
}
