html * {
	box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    font-family: Roboto, Arial, sans-serif;
	font-size: 16px;
}

.cabval-login-wrapper {
    max-width: 380px;
	height: auto;
    background: #fff;
    padding: 0px;
    border-radius: 6px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	overflow: auto;
}

.cabval-login-wrapper>div {
	width: 100%;
	padding: 32px 28px;
}

.cabval-login-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.cabval-login-logo .icon {
    width: 200px;
    height: 133px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.cabval-login-title {
    text-align: center;
    margin-bottom: 18px;
    color: #000;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.5px;
}

.cabval-login-subtitle {
    text-align: center;
    margin-bottom: 20px;
    color: #555;
    font-size: 13px;
}

.cabval-login-error {
    background: #ffe5e5;
    border: 1px solid #cc0000;
    color: #a30000;
    padding: 10px 12px;
    border-radius: 4px;
    font-size: 13px;
    margin-bottom: 16px;
    text-align: center;
}

.cabval-login-wrapper label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    color: #333;
}

.cabval-login-wrapper input[type="text"],
.cabval-login-wrapper input[type="password"],
.cabval-login-wrapper input[type="email"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #c5c5c5;
    border-radius: 4px;
    margin-bottom: 14px;
    font-size: 14px;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cabval-login-wrapper input[type="text"]:focus,
.cabval-login-wrapper input[type="password"]:focus,
.cabval-login-wrapper input[type="email"]:focus {
    outline: none;
}

.cabval-login-wrapper input[type="submit"] {
    width: 100%;
    color: #fff;
    padding: 11px;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    cursor: pointer;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: background 0.15s ease, box-shadow 0.15s ease;
    margin-top: 4px;
}

.cabval-login-remember {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #444;
}

.cabval-login-captcha {
    margin: 12px 0 16px 0;
    text-align: center;
    font-size: 12px;
    color: #777;
}

.cabval-login-links {
    margin-top: 18px;
    text-align: center;
}

.cabval-login-links a {
    text-decoration: none;
    font-size: 13px;
    display: block;
    margin: 4px 0;
    transition: color 0.15s ease;
}

.cabval-login-links .cabval-login-cancel {
    margin-top: 6px;
}


.cabval-login-logo .icon {
	width: 200px;
	height: 133px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	margin: 0 auto 20px auto;
}

.cabval-login-footer {
	font-size: 0.7em;
	text-align: center;
}

.cabval-login-success {
    background: #e6f7ec;               /* Verde suave, seguro y profesional */
    border-left: 4px solid #2e7d32;    /* Verde corporativo más fuerte */
    color: #1b5e20;                    /* Texto verde oscuro */
    padding: 12px 16px;
    margin: 12px 0 20px 0;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    animation: cabvalFadeIn 0.25s ease-out;
}

/* Wide Desktop Ultra-Wide*/
@media (min-width: 1921px) and (max-width: 2560px) {  
}

/* Wide Desktop */
@media (min-width: 1441px) and (max-width: 1920px) {  
}

/* Desktop */
@media (min-width: 1025px) and (max-width: 1440px) { 
}

/* Tablet */
@media (min-width: 601px) and (max-width: 1024px) {
}

/* Mobile */
@media (max-width: 600px) { 

    .cabval-login-wrapper {
        width: 80vw !important;
        max-width: 80vw !important;
        height: 80vh !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        font-size: 0.8rem !important;
    }

    .cabval-login-wrapper > div {
        width: 100%;
        padding: 20px 16px;
    }
	
}