/* =========================================================
   DEWPOINT /OWNER
   Centered management login only
   ========================================================= */

html.dp-owner-route,
html.dp-owner-route body{
    min-height:100%;
}

html.dp-owner-route:not(.dp-owner-app) body{
    margin:0;
    overflow:hidden;
    background:
        linear-gradient(
            135deg,
            #06112e 0%,
            #0a1d4d 55%,
            #2b1058 100%
        );
}


/*
 * Hide the public landing page completely while
 * the /owner login screen is shown.
 */
html.dp-owner-route:not(.dp-owner-app) body > *:not(#dp-owner-portal):not(script):not(style):not(link){
    display:none !important;
}


.dp-owner-portal{
    position:fixed !important;
    inset:0 !important;
    z-index:100000 !important;

    display:grid !important;
    place-items:center !important;

    visibility:visible !important;
    opacity:1 !important;

    padding:24px;

    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(108,72,255,.18),
            transparent 28%
        ),
        radial-gradient(
            circle at 80% 78%,
            rgba(44,131,255,.16),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #06112e 0%,
            #0a1d4d 55%,
            #2b1058 100%
        );
}


.dp-owner-login-card{
    width:min(420px, 100%);

    padding:34px 30px 30px;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius:22px;

    color:#17213b;

    background:#ffffff;

    box-shadow:
        0 30px 80px
        rgba(0,0,0,.28);
}


.dp-owner-login-top{
    display:flex;
    align-items:flex-start;
    gap:14px;

    margin-bottom:24px;
}


.dp-owner-logo{
    width:54px;
    height:54px;

    flex:0 0 54px;

    display:grid;
    place-items:center;

    border-radius:16px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #7442f2 0%,
            #2f7ff1 100%
        );

    font-size:18px;
    font-weight:900;
    letter-spacing:-1px;
}


.dp-owner-heading small{
    display:block;

    margin-bottom:6px;

    color:#6950d7;

    font-size:10px;
    font-weight:900;
    letter-spacing:1.4px;
}


.dp-owner-heading h1{
    margin:0 0 6px;

    color:#131c33;

    font-size:28px;
    font-weight:850;
    letter-spacing:-1px;
}


.dp-owner-heading p{
    margin:0;

    color:#73809b;

    font-size:12px;
    line-height:1.55;
}


.dp-owner-login-form{
    display:flex;
    flex-direction:column;
    gap:16px;
}


.dp-owner-login-form label{
    display:flex;
    flex-direction:column;
    gap:7px;
}


.dp-owner-login-form label > span{
    color:#3e4962;

    font-size:11px;
    font-weight:800;
}


.dp-owner-login-form input,
.dp-owner-login-form select{
    width:100%;
    height:48px;

    padding:0 14px;

    outline:none;

    border:
        1px solid
        #d7deea;

    border-radius:10px;

    color:#1a2237;
    background:#fff;

    font:inherit;
    font-size:13px;

    box-sizing:border-box;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}


.dp-owner-login-form input:focus,
.dp-owner-login-form select:focus{
    border-color:#7354e8;

    box-shadow:
        0 0 0 3px
        rgba(115,84,232,.12);
}


.dp-owner-login-error{
    padding:11px 12px;

    border:
        1px solid
        #f2b7b2;

    border-radius:9px;

    color:#ae4237;
    background:#fff2ef;

    font-size:11px;
    line-height:1.45;
}


.dp-owner-login-submit{
    height:49px;

    margin-top:2px;

    border:0;
    border-radius:10px;

    color:#fff;

    background:
        linear-gradient(
            90deg,
            #6740df 0%,
            #3378ed 100%
        );

    font-size:11px;
    font-weight:900;
    letter-spacing:.7px;

    cursor:pointer;

    box-shadow:
        0 12px 24px
        rgba(86,72,220,.22);
}


.dp-owner-login-submit:hover{
    transform:translateY(-1px);
}


.dp-owner-login-submit:disabled{
    opacity:.65;
    cursor:wait;
    transform:none;
}


.dp-owner-login-help{
    margin:4px 0 0;

    text-align:center;

    color:#8a93a6;

    font-size:10px;
}


.dp-owner-login-help a{
    color:#5b43cf;
    font-weight:850;
    text-decoration:none;
}


.dp-owner-login-help a:hover{
    text-decoration:underline;
}


@media(max-width:480px){

    .dp-owner-portal{
        padding:16px;
    }

    .dp-owner-login-card{
        width:100%;
        padding:26px 20px 22px;
        border-radius:18px;
    }

    .dp-owner-heading h1{
        font-size:24px;
    }

}
