/* ============================================================
   fundpoint-admin.css  —  admin dashboard + auth (sign in / up)
   Accent on buttons/links/alerts, and a modern split-screen login.
   Auth rules are scoped to body.fixed-header and use !important to
   beat the dashboard theme's own (more specific) login CSS.
   ============================================================ */
:root{ --fp-accent:#ff573d; --fp-accent-dark:#e23b22; }

/* Buttons / alerts (dashboard-wide) */
.btn-primary,.btn.btn-primary{ background-color:var(--fp-accent)!important; border-color:var(--fp-accent)!important; color:#fff!important; }
.btn-primary:hover,.btn.btn-primary:hover{ background-color:var(--fp-accent-dark)!important; border-color:var(--fp-accent-dark)!important; }
.btn-outline-primary{ color:var(--fp-accent)!important; border-color:var(--fp-accent)!important; }
.btn-outline-primary:hover{ background-color:var(--fp-accent)!important; color:#fff!important; }
.alert-success{ background:#e4f7ec; color:#1b7a46; border-color:#b9ead0; }
.alert-danger{ background:#fdecea; color:#b3261e; border-color:#f5c6c2; }

/* ============================================================
   AUTH — modern split screen (login / register)
   ============================================================ */
body.fixed-header .login-wrapper{
    display:flex!important; flex-direction:row!important; align-items:stretch!important;
    min-height:100vh!important; width:100%!important; background:#fff!important; margin:0!important;
}

/* Left image panel — fill remaining space, no fixed theme width */
body.fixed-header .login-wrapper .bg-pic{
    position:relative!important; float:none!important;
    flex:1 1 auto!important; width:auto!important; max-width:none!important;
    min-height:100vh!important; margin:0!important; overflow:hidden!important;
}
body.fixed-header .login-wrapper .bg-pic img{
    width:100%!important; height:100%!important; object-fit:cover!important;
    position:absolute!important; inset:0!important;
}
body.fixed-header .login-wrapper .bg-pic:after{
    content:""!important; position:absolute!important; inset:0!important;
    /* light dark overlay — image shows through, text stays readable */
    background:linear-gradient(180deg, rgba(16,18,22,.28) 0%, rgba(16,18,22,.48) 100%)!important;
}
body.fixed-header .login-wrapper .bg-caption{
    position:absolute!important; left:0!important; right:0!important; bottom:0!important; z-index:3!important;
    padding:0 56px 56px!important; max-width:620px!important;
}
/* Accent bar above the title */
body.fixed-header .login-wrapper .bg-caption:before{
    content:""!important; display:block!important;
    width:58px!important; height:5px!important; border-radius:3px!important;
    background:var(--fp-accent)!important; margin-bottom:20px!important;
}
body.fixed-header .login-wrapper .bg-caption h2{
    color:var(--fp-accent)!important;                 /* coral, like banner H1 */
    font-weight:800!important; font-size:2.9rem!important; line-height:1.1!important;
    margin:0 0 14px!important; letter-spacing:-.5px!important;
    text-shadow:0 2px 14px rgba(0,0,0,.45)!important;
}
body.fixed-header .login-wrapper .bg-caption p.small{
    color:#ffffff!important;                          /* white, like banner H4 */
    font-size:1.08rem!important; line-height:1.65!important; max-width:500px!important;
    opacity:.96!important; font-weight:400!important;
    text-shadow:0 1px 8px rgba(0,0,0,.45)!important;
}
@media (max-width:820px){
    body.fixed-header .login-wrapper .bg-caption{ padding:0 24px 28px!important; }
    body.fixed-header .login-wrapper .bg-caption h2{ font-size:2rem!important; }
    body.fixed-header .login-wrapper .bg-caption:before{ margin-bottom:12px!important; }
}

/* Right form card — fixed, readable width, centred content */
body.fixed-header .login-wrapper .login-container{
    position:relative!important; float:none!important; right:auto!important; top:auto!important;
    flex:0 0 460px!important; width:460px!important; max-width:100%!important;
    min-height:100vh!important; display:flex!important; align-items:center!important;
    background:#fff!important; box-shadow:-8px 0 30px rgba(21,24,29,.06)!important;
}
body.fixed-header .login-container > div{ width:100%!important; }
body.fixed-header .login-container img{ max-height:48px!important; width:auto!important; }
body.fixed-header .login-container p.p-t-35{
    font-size:1.6rem!important; font-weight:700!important; color:#15181d!important; margin:22px 0 6px!important;
}

/* Fields -> clean stacked-label cards */
body.fixed-header .login-container .form-group-default{
    border:1px solid #e4e4ee!important; border-radius:10px!important; padding:9px 14px!important;
    margin-bottom:14px!important; background:#fff!important; box-shadow:none!important;
    transition:border-color .15s, box-shadow .15s!important;
}
body.fixed-header .login-container .form-group-default:focus-within{
    border-color:var(--fp-accent)!important; box-shadow:0 0 0 3px rgba(255,87,61,.15)!important;
}
body.fixed-header .login-container .form-group-default label{
    display:block!important; font-size:.7rem!important; text-transform:uppercase!important;
    letter-spacing:.4px!important; font-weight:700!important; color:#9aa0ad!important; margin:0 0 2px!important;
}
body.fixed-header .login-container .form-group-default .form-control{
    border:none!important; box-shadow:none!important; background:transparent!important;
    padding:2px 0!important; height:auto!important; min-height:0!important;
    font-size:1rem!important; color:#15181d!important; width:100%!important;
}

/* Remember / forgot */
body.fixed-header .login-container .checkbox label{ color:#4b5563!important; }
body.fixed-header .login-container .text-info{ color:var(--fp-accent)!important; font-weight:600!important; }

/* Button -> full-width, branded */
body.fixed-header .login-container .btn-primary,
body.fixed-header .login-container .btn-cons{
    width:100%!important; padding:13px 18px!important; border-radius:10px!important;
    font-weight:700!important; font-size:1rem!important; margin-top:16px!important;
    background:var(--fp-accent)!important; border:none!important; color:#fff!important;
}
body.fixed-header .login-container .btn-primary:hover{ background:var(--fp-accent-dark)!important; }

/* Responsive: stack on small screens */
@media (max-width:820px){
    body.fixed-header .login-wrapper{ flex-direction:column!important; }
    body.fixed-header .login-wrapper .bg-pic{ min-height:200px!important; flex:0 0 auto!important; }
    body.fixed-header .login-wrapper .login-container{
        flex:1 1 auto!important; width:100%!important; min-height:auto!important; box-shadow:none!important;
    }
}
