.dd-handle{cursor: grab;}
.margin-bottom-10{margin-bottom: 10px;}
.margin-bottom-20{margin-bottom: 20px;}
.margin-bottom-30{margin-bottom: 30px;}

.max-h-380{max-height:380px;}
.max-h-300{max-height:300px;}
.max-h-420-overflow-auto{
    max-height:420px;
    overflow:auto;
}
.w-100px{width:100px;}
.w-1pct{width:1%;}
.max-w-80vw{max-width:80vw;}
.img-max-w-100{
    max-width:100%;
    height:auto;
}
.is-hidden{display:none;}
.white-space-pre-wrap{white-space:pre-wrap;}
a{
    color:rgb(253, 128, 9);
    text-decoration:none;
}
.bg-user-pattern{
    background-image:url(/inspinia/assets/images/user-bg-pattern.png);
}

html,
body{
    min-height:100%;
}

.wrapper{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.sidenav-footer-links{
    margin:18px 16px 20px;
    padding:14px 4px 0;
    border-top:1px solid rgba(148, 163, 184, .28);
    color:var(--ct-menu-item-color, #98a6ad);
    font-size:12px;
    line-height:1.45;
}

.sidenav-footer-links__copyright{
    margin-bottom:8px;
    font-weight:600;
}

.sidenav-footer-links__nav{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
}

.sidenav-footer-links__nav a{
    color:inherit;
    text-decoration:none;
}

.sidenav-footer-links__nav a:hover{
    color:var(--ct-menu-item-hover-color, #ffffff);
}

.sidenav-menu > .logo{
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    overflow:hidden;
    padding:20px;
}

.sidenav-menu > .logo .logo-lg img,
.sidenav-menu > .logo .logo-sm img{
    display:block;
    max-width:100%;
    width:auto;
    height:auto;
    max-height:40px;
}

.crm-table-actions-col,
.crm-table-checkbox-col{
    width:1%;
}

.password-field{position:relative;}
.password-field .form-group{margin-bottom:0;}
.password-toggle{
    position:absolute;
    top:12px;
    right:12px;
    border:0;
    background:transparent;
    color:#1f6feb;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    z-index:2;
}
.password-field input[type="password"],
.password-field input[type="text"]{padding-right:62px;}
.password-strength{
    margin-top:10px;
    padding:12px 14px;
    border:1px solid #d9e2f2;
    border-radius:14px;
    background:linear-gradient(180deg,#f8fbff 0%,#f1f6ff 100%);
}
.password-strength__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}
.password-strength__label{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#5d6b82;
}
.password-strength__value{
    font-size:13px;
    font-weight:700;
    color:#1f2937;
}
.password-strength__slider{
    width:100%;
    margin:0;
    accent-color:#ef4444;
}
.password-strength__slider[data-strength-level="1"]{accent-color:#f59e0b;}
.password-strength__slider[data-strength-level="2"]{accent-color:#eab308;}
.password-strength__slider[data-strength-level="3"]{accent-color:#22c55e;}
.password-strength__slider[data-strength-level="4"]{accent-color:#0ea5e9;}
.password-strength__hint{
    margin:8px 0 10px;
    font-size:12px;
    line-height:1.5;
    color:#526071;
}
.password-strength__checks{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:6px;
}
.password-strength__checks li{
    position:relative;
    padding-left:20px;
    font-size:12px;
    color:#6b7280;
}
.password-strength__checks li::before{
    content:"";
    position:absolute;
    left:0;
    top:5px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#d1d5db;
}
.password-strength__checks li.is-passed{
    color:#166534;
}
.password-strength__checks li.is-passed::before{
    background:#22c55e;
    box-shadow:0 0 0 3px rgba(34,197,94,.18);
}
.password-match{
    min-height:18px;
    margin:8px 0 0;
    font-size:12px;
}
.password-match.is-match{color:#166534;}
.password-match.is-mismatch{color:#b91c1c;}

@media (max-width: 767px){
    .password-strength{
        padding:10px 12px;
        border-radius:12px;
    }
    .password-strength__top{
        flex-direction:column;
        align-items:flex-start;
    }
}
