:root{--rwm-primary-color:#139647;--rwm-text:#222}
.rwm-login-card{max-width:420px;margin:0 auto;border-radius:12px;box-shadow:0 8px 30px rgba(20,20,40,0.06);overflow:hidden;font-family:inherit;background:#fff;padding:0}
.rwm-login-logo{text-align:center;padding:32px 0 24px;background:transparent}
.rwm-login-logo img{max-width:150px;height:auto}
.rwm-login-card .rwm-header{background:transparent;color:var(--rwm-text);padding:0 20px 16px;text-align:center}
.rwm-login-card .rwm-header h2{margin:0;font-size:20px;font-weight:600;color:var(--rwm-text)}
.rwm-login-card .rwm-header p{margin:6px 0 0;opacity:0.7;font-size:14px;color:var(--rwm-text)}
.rwm-login-card .rwm-body{padding:0 20px 20px;background:#fff}
.rwm-login-card label{display:block;margin-bottom:8px;font-weight:600;color:var(--rwm-text)}
.rwm-login-card input[type=tel]{width:100%;padding:12px;border:1px solid #e6e9ee;border-radius:10px;font-size:16px;transition:box-shadow .15s ease,border-color .15s ease}
.rwm-login-card input[type=tel]:focus{outline:none;box-shadow:0 6px 18px rgba(19,150,71,0.06);border-color:#139647}
.rwm-login-cta{display:flex;gap:8px;align-items:center;margin-top:16px}
.rwm-login-cta button{flex:1;padding:12px 16px;border-radius:10px;border:0;background:var(--rwm-primary-color);color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:opacity .2s ease}
.rwm-login-cta button:hover{opacity:0.9}
.rwm-login-cta button.loading{opacity:0.7;cursor:not-allowed}
.rwm-login-note{font-size:13px;color:#666;margin-top:12px}
.rwm-login-message{margin-bottom:1rem;padding:0.75rem;border-radius:6px}
.rwm-success{background:#ECFDF5;color:#065F46}
.rwm-error{background:#FEF2F2;color:#991B1B}

/* Desktop layout */
@media (min-width: 900px) {
	.rwm-login-card { max-width: 520px; }
	.rwm-body { display: block; }
	.rwm-frontend-login-form { min-width: 420px; }
}
.rwm-body { margin-top: 0; }
.rwm-frontend-login-form { width: 100%; }
.rwm-frontend-login-form input[type="tel"] { border: 1px solid #e6e9ee; border-radius: 10px; padding: 12px; transition: box-shadow .15s ease, border-color .15s ease; width: 100%; }
.rwm-frontend-login-form input[type="tel"]:focus { outline: none; box-shadow: 0 6px 18px rgba(19,150,71,0.06); border-color: #139647; }

/* intl-tel-input adjustments - aggressive overrides */
#rwm-phone-wrapper {
    width: 100% !important;
    max-width: 100% !important;
}
.intl-tel-input,
.intl-tel-input.iti,
.iti.iti--allow-dropdown,
.iti.iti--separate-dial-code { 
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    position: relative !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.intl-tel-input input,
.intl-tel-input input.iti__tel-input { 
    font-size: 16px !important; 
    padding: 14px 14px 14px 70px !important; 
    width: 100% !important; 
    box-sizing: border-box !important; 
    border: 1px solid #e6e9ee !important; 
    border-radius: 10px !important;
    background-color: #fff !important;
    background-image: none !important;
    color: #222 !important;
    height: auto !important;
    line-height: 1.5 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.intl-tel-input input:focus,
.intl-tel-input input.iti__tel-input:focus { 
    box-shadow: 0 6px 18px rgba(19,150,71,0.06) !important; 
    border-color: #139647 !important;
    outline: none !important;
    background-color: #fff !important;
}
.intl-tel-input input::placeholder,
.intl-tel-input input.iti__tel-input::placeholder {
    color: #999 !important;
    opacity: 1 !important;
}
.intl-tel-input .iti__flag-container { 
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 0 !important;
}
.intl-tel-input .iti__selected-flag {
    background-color: #fff !important;
    background-image: none !important;
    padding: 0 8px 0 14px !important;
    border: none !important;
    border-right: 1px solid #e6e9ee !important;
    border-radius: 10px 0 0 10px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
}
.intl-tel-input .iti__selected-flag:hover,
.intl-tel-input .iti__selected-flag:focus {
    background-color: #fff !important;
    background-image: none !important;
}
.intl-tel-input .iti__selected-dial-code {
    color: #222 !important;
    font-weight: 500 !important;
}
.intl-tel-input .iti__arrow {
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid #666 !important;
    border-bottom: 0 !important;
    margin-left: 6px !important;
}
@media screen and (max-width: 600px) { 
    .intl-tel-input input,
    .intl-tel-input input.iti__tel-input { 
        font-size: 16px !important; 
        padding: 12px 12px 12px 62px !important; 
    } 
}
.rwm-phone-feedback { 
    color: #666; 
    font-size: 13px; 
    margin-top: 8px;
}
